دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
امنیت
  • Folder icon closed Folder open iconCIA Triad چیست؟ آشنایی با سه اصل اساسی امنیت اطلاعات
  • Folder icon closed Folder open iconAttack Surface چیست؟ آشنایی با سطح حمله در امنیت سایبری
  • Folder icon closed Folder open iconThreat چیست؟ آشنایی با مفهوم تهدید در امنیت سایبری
  • Folder icon closed Folder open iconVulnerability چیست؟ آشنایی با آسیب‌پذیری در امنیت سایبری
  • Folder icon closed Folder open iconExploit چیست؟ آشنایی با مفهوم اکسپلویت در امنیت سایبری
  • Folder icon closed Folder open iconRisk چیست؟ آشنایی با مفهوم ریسک در امنیت سایبری
  • Folder icon closed Folder open iconCVE چیست؟ آشنایی با سیستم شماره‌گذاری آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconCVSS چیست؟ آشنایی با سیستم امتیازدهی آسیب‌پذیری‌های امنیتی
  • Folder icon closed Folder open iconبعد از خرید سرور مجازی لینوکس(VPS)، اولین کارهایی که باید انجام دهید
  • Folder icon closed Folder open iconآموزش تغییر Hostname سرور در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح Timezone و NTP در لینوکس
  • Folder icon closed Folder open iconآموزش بروزرسانی کامل سیستم‌عامل لینوکس همه توزیع ها
  • Folder icon closed Folder open iconآموزش ساخت کاربر جدید و حذف استفاده روزمره از Root در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم صحیح sudo در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم Banner ورود به SSH در لینوکس
  • Folder icon closed Folder open iconآموزش مدیریت Password Policy در لینوکس
  • Folder icon closed Folder open iconآموزش نصب و راه‌اندازی SSH Key Authentication در لینوکس
  • Folder icon closed Folder open iconآموزش غیرفعال کردن ورود مستقیم Root از طریق SSH
  • Folder icon closed Folder open iconتغییر پورت SSH؛ آیا واقعاً امنیت سرور را افزایش می‌دهد؟
  • Folder icon closed Folder open iconآموزش محدود کردن کاربران مجاز SSH در لینوکس
  • Folder icon closed Folder open iconآموزش محدود کردن دسترسی SSH بر اساس IP در لینوکس
  • Folder icon closed Folder open iconآموزش تنظیم LoginGraceTime در SSH؛ کاهش زمان انتظار برای احراز هویت
  • Folder icon closed Folder open iconآموزش تنظیم MaxAuthTries در SSH؛ محدود کردن تعداد تلاش‌های ورود ناموفق
  • Folder icon closed Folder open iconآموزش بررسی لاگ‌های SSH در لینوکس
  • Folder icon closed Folder open iconآموزش عیب‌یابی مشکلات SSH در لینوکس
  • Folder icon closed Folder open iconآموزش کامل UFW در لینوکس؛ راه‌اندازی، مدیریت و ایمن‌سازی فایروال سرور
  • Folder icon closed Folder open iconnftables چیست؟ آشنایی با فایروال نسل جدید لینوکس و جایگزین iptables
  • Folder icon closed Folder open iconآموزش کامل Firewalld در لینوکس
  • Folder icon closed Folder open iconآموزش کامل ConfigServer Security & Firewall (CSF)
  • Folder icon closed Folder open iconآموزش مشاهده Loginهای اخیر در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی پردازش‌های مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش بررسی Cron Jobهای مشکوک در لینوکس
  • Folder icon closed Folder open iconآموزش کامل Fail2Ban در لینوکس؛ نصب و راه‌اندازی
  • Folder icon closed Folder open iconآموزش نصب RKHunter در لینوکس
  • Folder icon closed Folder open iconآموزش نصب Chkrootkit در لینوکس
  • Folder icon closed Folder open iconآموزش اسکن سرور با RKHunter و Chkrootkit
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و اسکن سرور با AIDE در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، پیکربندی و استفاده از Auditd در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، اسکن و تحلیل امنیت سرور با Lynis در لینوکس
  • Folder icon closed Folder open iconآموزش نصب، بروزرسانی و اسکن سرور با ClamAV در لینوکس
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Nginx
  • Folder icon closed Folder open iconآموزش Hardening وب‌سرور Apache
  • Folder icon closed Folder open iconآموزش Hardening PHP
  • Folder icon closed Folder open iconآموزش Hardening پایگاه داده MySQL
  • Folder icon closed Folder open iconآموزش Hardening سرویس Redis
  • Folder icon closed Folder open iconآموزش Hardening سرویس Docker
  • Folder icon closed Folder open iconآموزش Hardening سرویس FTP
امنیت

آموزش کامل Firewalld در لینوکس

آموزش کامل Firewalld در لینوکس

مقدمه

یکی از مهم‌ترین بخش‌های امنیت هر سرور لینوکسی، مدیریت صحیح فایروال است. حتی اگر سیستم‌عامل و نرم‌افزارهای شما به‌روز باشند، باز بودن پورت‌های غیرضروری می‌تواند راه نفوذ مهاجمان را هموار کند.

در دنیای لینوکس ابزارهای مختلفی برای مدیریت فایروال وجود دارد که Firewalld یکی از محبوب‌ترین آن‌ها است. این ابزار به‌صورت پیش‌فرض در بسیاری از توزیع‌های سازمانی مانند AlmaLinux، Rocky Linux، CentOS و RHEL استفاده می‌شود و امکانات پیشرفته‌ای مانند Zone، Service، Rich Rule و مدیریت پویا (Dynamic) قوانین را در اختیار مدیران سیستم قرار می‌دهد.

در این مقاله، با Firewalld، نحوه کار آن، تفاوت آن با UFW و سناریوهای مناسب برای استفاده از هرکدام آشنا خواهیم شد.


Firewalld چیست؟

Firewalld یک سرویس مدیریت فایروال برای لینوکس است که قوانین مربوط به ترافیک شبکه را مدیریت می‌کند.

برخلاف ابزارهای قدیمی، Firewalld امکان تغییر قوانین را بدون نیاز به راه‌اندازی مجدد فایروال فراهم می‌کند.

امروزه Firewalld در بیشتر توزیع‌های Enterprise لینوکس به‌عنوان ابزار پیش‌فرض مدیریت فایروال شناخته می‌شود.


Firewalld چگونه کار می‌کند؟

Firewalld یک لایه مدیریتی روی nftables (و در برخی سیستم‌های قدیمی‌تر، iptables) است.

به‌جای اینکه مستقیماً Ruleهای پیچیده nftables را بنویسید، Firewalld آن‌ها را از طریق دستورات ساده مدیریت می‌کند.


بررسی نصب Firewalld

در بیشتر توزیع‌های RHEL-based به‌صورت پیش‌فرض نصب است.

برای بررسی:

firewall-cmd --version

نصب Firewalld

در Ubuntu:

sudo apt update
sudo apt install firewalld -y

در AlmaLinux و Rocky Linux:

sudo dnf install firewalld -y

فعال کردن سرویس

sudo systemctl enable firewalld
sudo systemctl start firewalld

بررسی وضعیت

sudo systemctl status firewalld

همچنین:

sudo firewall-cmd --state

نمونه خروجی:

running

Zone چیست؟

مهم‌ترین مفهوم در Firewalld مفهوم Zone است.

Zone مجموعه‌ای از قوانین امنیتی است که برای یک یا چند رابط شبکه (Network Interface) اعمال می‌شود.

به بیان ساده، هر Zone مشخص می‌کند که یک شبکه تا چه اندازه مورد اعتماد است.

آموزش کامل Firewalld در لینوکس

مشاهده Zoneهای موجود

sudo firewall-cmd --get-zones

نمونه خروجی:

block
dmz
drop
external
home
internal
public
trusted
work

Zone پیش‌فرض

برای مشاهده Zone فعال:

sudo firewall-cmd --get-default-zone

در بیشتر سرورها مقدار پیش‌فرض:

public

است.


مشاهده قوانین Zone

sudo firewall-cmd --list-all

باز کردن یک سرویس

برای مثال SSH:

sudo firewall-cmd --permanent --add-service=ssh

HTTP:

sudo firewall-cmd --permanent --add-service=http

HTTPS:

sudo firewall-cmd --permanent --add-service=https

اعمال تغییرات:

sudo firewall-cmd --reload

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

برای مثال:

sudo firewall-cmd --permanent --add-port=8080/tcp

اعمال تغییرات:

sudo firewall-cmd --reload

حذف یک پورت

sudo firewall-cmd --permanent --remove-port=8080/tcp

حذف یک پورت یا سرویس در Firewalld

گاهی پس از پایان استفاده از یک سرویس یا تغییر پیکربندی سرور، لازم است دسترسی به یک پورت یا سرویس را از طریق فایروال مسدود کنید. حذف پورت‌ها و سرویس‌های غیرضروری یکی از اصول مهم امنیت سرور و اجرای اصل Least Privilege (حداقل دسترسی) است.

بستن یک سرویس

برای مثال، اگر دیگر نیازی به دسترسی HTTP ندارید:

sudo firewall-cmd --permanent --remove-service=http

یا برای غیرفعال کردن دسترسی SSH:

sudo firewall-cmd --permanent --remove-service=ssh

بستن یک پورت

برای مثال، اگر قبلاً پورت 8080 را باز کرده‌اید:

sudo firewall-cmd --permanent --remove-port=8080/tcp

یا برای بستن یک پورت UDP:

sudo firewall-cmd --permanent --remove-port=5353/udp

اعمال تغییرات

پس از حذف سرویس یا پورت، تغییرات را اعمال کنید:

sudo firewall-cmd --reload

بررسی نتیجه

برای مشاهده سرویس‌های مجاز:

sudo firewall-cmd --list-services

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

sudo firewall-cmd --list-ports

در صورتی که سرویس یا پورت حذف‌شده دیگر در خروجی نمایش داده نشود، قانون با موفقیت حذف شده است.

نکته: قبل از حذف سرویس‌هایی مانند SSH، مطمئن شوید از روش دیگری (مانند کنسول VPS، KVM یا یک نشست SSH فعال) به سرور دسترسی دارید. حذف اشتباه دسترسی SSH می‌تواند باعث از دست رفتن امکان مدیریت سرور از راه دور شود.

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

sudo firewall-cmd --list-ports

مشاهده سرویس‌های مجاز

sudo firewall-cmd --list-services

Rich Rules چیست؟

یکی از قابلیت‌های مهم Firewalld قابلیت Rich Rules است.

این قابلیت امکان تعریف قوانین پیشرفته را فراهم می‌کند.

برای مثال:

اجازه SSH فقط از یک IP:

sudo firewall-cmd \
--permanent \
--add-rich-rule='rule family="ipv4" source address="203.0.113.10" service name="ssh" accept'

محدود کردن بر اساس IP

برای مثال:

sudo firewall-cmd \
--permanent \
--add-rich-rule='rule family="ipv4" source address="198.51.100.20" drop'

مشاهده قوانین Rich

sudo firewall-cmd --list-rich-rules

تفاوت Runtime و Permanent

Firewalld دو نوع تنظیم دارد.

Runtime

تغییرات تا زمان ریبوت باقی می‌مانند.


Permanent

تغییرات دائمی هستند.

پس از اعمال تنظیمات دائمی باید دستور زیر اجرا شود:

sudo firewall-cmd --reload

بررسی تمام تنظیمات

sudo firewall-cmd --list-all

سناریوی پیشنهادی برای Web Server

sudo firewall-cmd --permanent --add-service=http

sudo firewall-cmd --permanent --add-service=https

sudo firewall-cmd --permanent --add-service=ssh

sudo firewall-cmd --reload

سناریوی پیشنهادی برای Database Server

بهتر است به جای باز کردن پورت MySQL برای همه، فقط IP سرور وب را مجاز کنید.


تفاوت Firewalld و UFW

FirewalldUFW
مناسب محیط‌های Enterpriseمناسب سرورهای کوچک و متوسط
مبتنی بر Zoneمبتنی بر Rule
دارای Rich Rulesقوانین ساده‌تر
امکانات پیشرفته‌تریادگیری آسان‌تر
پیش‌فرض در RHEL، AlmaLinux و Rockyپیش‌فرض در Ubuntu و Debian
انعطاف‌پذیری بالاسادگی در مدیریت

UFW یا Firewalld؛ کدام را انتخاب کنیم؟

اگر از Ubuntu یا Debian استفاده می‌کنید و نیازهای معمولی مانند باز کردن چند پورت، محدود کردن SSH یا مدیریت سرویس‌های رایج را دارید، UFW انتخاب ساده‌تر و مناسب‌تری است.

اگر از AlmaLinux، Rocky Linux یا RHEL استفاده می‌کنید یا در محیط‌های سازمانی با چندین رابط شبکه، Zoneهای مختلف و قوانین پیچیده کار می‌کنید، Firewalld امکانات بیشتری در اختیار شما قرار می‌دهد.

آموزش کامل Firewalld در لینوکس

Firewalld یا nftables؟

این دو رقیب یکدیگر نیستند.

  • nftables موتور اصلی مدیریت قوانین فایروال در هسته لینوکس است.
  • Firewalld ابزاری برای مدیریت آسان این قوانین است.

در واقع، Firewalld در بسیاری از توزیع‌های جدید از nftables برای اعمال قوانین استفاده می‌کند.


اشتباهات رایج

برخی از خطاهای متداول عبارت‌اند از:

  • اعمال تغییرات Permanent بدون اجرای reload
  • باز کردن پورت‌های غیرضروری
  • استفاده از Zone اشتباه
  • باز کردن پورت دیتابیس برای کل اینترنت
  • عدم بررسی قوانین پس از اعمال تغییرات

بهترین روش‌ها

برای افزایش امنیت:

  • فقط سرویس‌های موردنیاز را باز کنید.
  • از Rich Rule برای محدود کردن IPها استفاده کنید.
  • Zone مناسب را انتخاب کنید.
  • پس از هر تغییر، قوانین را بررسی کنید.
  • تنظیمات Runtime را در صورت نیاز به Permanent تبدیل کنید.
  • از اصل Least Privilege در تعریف قوانین استفاده کنید.

چک‌لیست

پس از راه‌اندازی Firewalld، موارد زیر را بررسی کنید:

  • سرویس Firewalld فعال است.
  • Zone مناسب انتخاب شده است.
  • فقط سرویس‌های ضروری باز هستند.
  • قوانین Permanent ذخیره شده‌اند.
  • تغییرات با reload اعمال شده‌اند.
  • دسترسی SSH قبل از هر تغییر آزمایش شده است.

جمع‌بندی

Firewalld یکی از قدرتمندترین ابزارهای مدیریت فایروال در لینوکس است که با استفاده از مفاهیمی مانند Zone، Service و Rich Rule، امکان مدیریت حرفه‌ای ترافیک شبکه را فراهم می‌کند. این ابزار به‌ویژه در توزیع‌های Enterprise مانند AlmaLinux، Rocky Linux و RHEL به‌عنوان گزینه پیش‌فرض شناخته می‌شود.

اگرچه UFW برای بسیاری از سرورهای Ubuntu و Debian به دلیل سادگی انتخاب مناسبی است، اما Firewalld امکانات پیشرفته‌تری برای مدیریت زیرساخت‌های بزرگ و سناریوهای پیچیده ارائه می‌دهد. در نهایت، هر دو ابزار قوانین خود را بر پایه موتور فایروال لینوکس اعمال می‌کنند و انتخاب بین آن‌ها به توزیع لینوکس، نیازهای شبکه و سطح پیچیدگی زیرساخت شما بستگی دارد.

کیان پور

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مطالب اخیراً بازدیدشده

  • CVSS چیست؟ آشنایی با سیستم امتیازدهی آسیب‌پذیری‌های امنیتی
  • آموزش کامل Fail2Ban در لینوکس؛ نصب و راه‌اندازی
  • آموزش کامل nslookup
  • آموزش نصب Nextcloud با Docker Compose
  • عیب‌یابی تفاوت نتیجه DNS بین سرور و کامپیوتر شخصی
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش کامل Firewalld در لینوکس

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی ...
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

آگوست 2026
شیدسچپج
1234567
891011121314
15161718192021
22232425262728
293031 
« جولای    

عضویت

جدیدترین پست‌ها

آموزش نصب و راه‌اندازی RustDesk Server با Docker
آموزش نصب و راه‌اندازی RustDesk Server با Docker
2 minutes جولای 2, 2026
آموزش نصب و راه‌اندازی Matrix Synapse + Element Web + Coturn با Docker روی Ubuntu 24.04
4 minutes جولای 2, 2026
CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام