پرش به مطلب اصلی

فایروال (Security Group)

Alt text

در این بخش از داشبورد OpenStack، می‌توانید رول‌های فایروال یا همان گروه‌های امنیتی (Security Groups) را مشاهده و مدیریت کنید. گروه‌های امنیتی مجموعه‌ای از قوانین فایروال هستند که تعیین می‌کنند چه نوع ترافیکی اجازه ورود یا خروج از یک پورت (عبارت مصطلح در OpenStack برای اشاره به کارت شبکه مجازی یا vNIC) را دارد.

به‌صورت پیش‌فرض، خود OpenStack هنگام ایجاد پروژه، یک گروه امنیتی با نام «default» ایجاد می‌کند. این گروه معمولاً شامل چند قانون ابتدایی است که اجازه دسترسی ورودی محدود به سرویس‌ها (مثلاً ICMP یا SSH) را فراهم می‌کند. این گروه را می‌توانید ویرایش کرده یا قوانین دلخواه خود را به آن اضافه کنید.

Alt text

برای ایجاد یک Security Group جدید در OpenStack، کافی است در صفحه مربوط به Security Groups روی دکمه Create Security Group کلیک کنید. با انجام این کار، یک پنجره جدید باز می‌شود که تنها شامل دو فیلد ساده است:

  • Name: در این قسمت، یک نام دلخواه برای گروه امنیتی وارد کنید. بهتر است نام انتخابی توصیفی باشد تا در مراحل بعدی به‌راحتی قابل شناسایی باشد.

  • Description (اختیاری): می‌توانید یک توضیح کوتاه درباره کاربرد یا هدف این گروه امنیتی وارد کنید. این فیلد الزامی نیست، اما برای مستندسازی یا در پروژه‌های بزرگ می‌تواند مفید باشد.

پس از تکمیل اطلاعات، روی دکمه Create Security Group کلیک کنید تا گروه جدید ساخته شود. بلافاصله پس از ایجاد، می‌توانید با انتخاب گزینه Manage Rules، قوانین امنیتی موردنظر خود را به این گروه اضافه کنید.

Alt text

اگر خودتان یک گروه امنیتی جدید بسازید (مانند Test 1 که در تصویر دیده می‌شود)، در ابتدا تنها شامل دو قانون کلی برای اجازه دادن به تمام ترافیک‌های خروجی از سرور (Egress) است. شما باید قوانین دلخواه خودتان را به آن اضافه کنید.

تعریف قانون جدید

Alt text

برای تعریف یک قانون جدید در Security Group، کافی است روی دکمه‌ی Add Rule که در بالا سمت راست قرار دارد، کلیک کنید.

Alt text

در این مرحله، وارد پنجره Add Rule شده‌اید و باید یک قانون امنیتی جدید برای Security Group خود تعریف کنید. گزینه‌های این قسمت شامل موارد زیر است:

Rule

Rule شامل فهرستی از گزینه‌های مختلف است.

گزینه‌های Rule دلخواه

اگر قصد دارید یک پورت مشخص را باز کنید (مانند پورت ۲۲ برای SSH یا پورت ۸۰ برای HTTP)، می‌توانید از گزینه‌های Custom TCP Rule یا Custom UDP Rule استفاده کنید. در این حالت، امکان وارد کردن دستی شماره پورت یا بازه‌ای از پورت‌ها فراهم است. برای فعال‌سازی قابلیت ارسال یا دریافت Ping، گزینه Custom ICMP Rule را انتخاب کنید. این گزینه برای مجاز کردن ترافیک ICMP کاربرد دارد، مثل پاسخ‌دهی به دستور ping.

گزینه‌های انتخاب کلی Rule

در فهرست گزینه‌ها، موارد زیر قابل انتخاب هستند:

  • All TCP: اجازه ارسال یا دریافت تمام ترافیک TCP
  • All UDP: اجازه ارسال یا دریافت تمام ترافیک UDP
  • All ICMP: اجازه ارسال یا دریافت تمام ترافیک ICMP

گزینه‌های از پیش‌تعریف‌شده سرویس‌ها

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

  • DNS

  • HTTP 

  • HTTPS

  • SSH

  • RDP

  • ICMP

انتخاب هرکدام از این گزینه‌ها باعث می‌شود پورت و پروتکل مربوطه به‌صورت خودکار پر شود و نیازی به وارد کردن دستی اطلاعات نباشد.

نکته

برای داشتن کنترل دقیق‌تر روی نوع ترافیک، شماره پورت، و محدوده آدرس، پیشنهاد می‌شود از گزینه Custom TCP Rule یا Custom UDP Rule استفاده کنید. این گزینه امکان پیکربندی پیشرفته‌تری را فراهم می‌کند.

Description

در فیلد Description می‌توانید یک توضیح دلخواه برای قانون وارد کنید، تا در آینده راحت‌تر متوجه شوید که این قانون برای چه منظوری اضافه شده است. پر کردن این فیلد اختیاری است.

Alt text

Direction

در بخش Direction مشخص می‌کنید که این قانون مربوط به ترافیک ورودی (Ingress) است یا خروجی (Egress). اگر می‌خواهید ترافیک از بیرون به ماشین‌های مجازی وارد شود (مثلاً برای اتصال از راه دور)، باید گزینه‌ Ingress را انتخاب کنید. اگر قصد دارید دسترسی ماشین‌های مجازی داخل پروژه به بیرون را تنظیم کنید، باید گزینه‌ Egress را انتخاب کنید.

Alt text

Open Port (در صورت انتخاب گزینه Custom TCP یا Custom UDP)

در این بخش،  باید مشخص کنید که قانون امنیتی‌تان روی چه پورت‌هایی اعمال شود. سه گزینه پیش‌روی شما قرار دارد:

گزینه Ports

اگر گزینه‌ Port را انتخاب کنید، فقط یک پورت خاص را باز می‌کنید. مثلاً اگر بخواهید فقط پورت ۲۲ برای اتصال SSH باز باشد، عدد ۲۲ را وارد می‌کنید و فقط همان پورت باز می‌شود.

گزینه‌ Port Range

اگر گزینه‌ Port Range را انتخاب کنید، می‌توانید بازه‌ای از پورت‌ها را مشخص کنید. مثلاً با وارد کردن 1000 و 1010 این دو پورت و نیز تمام پورت‌های بین این دو عدد باز می‌شوند. این گزینه معمولاً برای سرویس‌هایی که از چند پورت متوالی به‌طور هم‌زمان استفاده می‌کنند کاربرد دارد.

گزینه‌ All Ports

اگر گزینه‌ All Ports را انتخاب کنید، تمام پورت‌های TCP یا UDP، بسته به نوع قانون، باز می‌شوند. این یعنی هیچ محدودیتی از نظر شماره پورت وجود ندارد و همه درخواست‌ها از هر پورتی مجاز هستند.

Remote

در این بخش باید مشخص کنید ترافیکی که قرار است اجازه دسترسی به آن داده شود، از چه منبعی می‌آید. برای این منظور، دو گزینه اصلی در اختیار دارید.

Alt text

۱. استفاده از CIDR

با انتخاب گزینه CIDR، باید یک بازه مشخص از آدرس‌های IP را وارد کنید.

  • برای باز کردن دسترسی عمومی به اینترنت، می‌توانید از مقدار 0.0.0.0/0 استفاده کنید. این مقدار به این معناست که تمام IPهای اینترنت مجاز به دسترسی هستند.

  • برای محدود کردن دسترسی به یک IP خاص یا محدوده مشخص، کافی است آن را به‌صورت دقیق وارد کنید. مثلاً: 192.168.1.10/32 برای یک IP خاص یا 192.168.1.0/24 برای یک ساب‌نت خاص.

۲. استفاده از Security Group

در این روش، به‌جای مشخص کردن IP، دسترسی را به ماشین‌های مجازی عضو یک گروه امنیتی دیگر می‌دهید.

Alt text

اگر در قسمت Remote گزینه‌ Security Group را انتخاب کنید، یک لیست از گروه‌های امنیتی موجود در پروژه‌تان نمایش داده می‌شود. مثلاً در اینجا می‌توانید گروه default یا همین گروه فعلی (Test 1) را انتخاب کنید.

Alt text

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

برای حذف هر قانون، کافی است در صفحه‌ مربوط به Manage Security Group Rules روی دکمه‌ قرمز Delete Rule که روبه‌روی هر قانون قرار دارد کلیک کنید. همچنین در صورت نیاز می‌توانید چند قانون را هم‌زمان انتخاب کرده و از گزینه‌ Delete Rules در بالای جدول استفاده کنید.