Hetzner Cloud یک شرکت معتبر میزبانی اینترنت و اپراتور مرکز داده از گونزنهاوزن، آلمان است. این شرکت با کمک پردازندههای Intel® Xeon® Gold، AMD EPYC نسل دوم و SSDهای NVMe سریع، عملکردی بینظیر را ارائه میدهد. Hetzner Cloud همچنین خدماتی را ارائه میدهد که در چند ثانیه آماده استفاده هستند و عملکردی فوقالعاده دارند.
فایروال ساده، که به طور عمومی به عنوان UFW شناخته میشود، یک لایه اضافی برای iptables است که به کاربران نهایی اجازه میدهد یک فایروال Netfilter را مدیریت کنند. UFW از نسخه ۸.۰۴ LTS به بعد در تمام نصبهای اوبونتو موجود است و کاربران میتوانند آن را بر روی هر توزیع لینوکس دیگری نیز نصب کنند. در این آموزش، مراحل راهاندازی مدیریت فایروال ساده با UFW در Hetzner Cloud را بررسی خواهیم کرد.
پیشنیازها
هر سروری که کاربر حداقل دسترسی ریشه (root) به آن داشته باشد و توزیع مبتنی بر لینوکس داشته باشد. سیستم عامل پیشنهادی برای نصب UFW اوبونتو یا دبیان است. اگر کاربران با کاربر ریشه سرور کار نمیکنند، میتوانند دستور `sudo` را در مقابل تمام دستورات کنسول بعدی اضافه کنند.
راهاندازی مدیریت فایروال ساده با UFW
مرحله ۱: نصب UFW
اوبونتو
به طور پیشفرض، UFW در تمام نسخههای سیستم عامل از نسخه ۸.۰۴ LTS به بعد گنجانده شده و نیازی به نصب مجدد ندارد. اگر UFW در سیستم موجود نیست یا باید دوباره نصب شود، میتوان با اجرای دستور زیر این کار را انجام داد:
$ apt-get install ufw
دبیان
بسته نصب UFW (فایروال ساده) در مخزن بسته رسمی دبیان موجود است و میتوان به راحتی با اجرای دستور زیر آن را نصب کرد:
$ apt-get install ufw
CentOS
متأسفانه، UFW به طور پیشفرض در مخزن بسته CentOS گنجانده نشده است. با این حال، کاربران میتوانند بسته را به سرعت از طریق مخزن EPEL با اجرای دستور زیر نصب کنند:
$ yum install epel-release -y
پس از نصب موفقیتآمیز مخزن EPEL، کاربران میتوانند UFW را با اجرای دستور زیر نصب کنند:
$ yum install --enablerepo="epel" ufw
مرحله ۲: شروع کار با UFW
پس از نصب موفقیتآمیز UFW در سیستم عامل کاربر، لازم است که سرویس UFW فعال شود و اطمینان حاصل شود که UFW نیز به درستی پس از راهاندازی مجدد سرور دوباره فعال میشود. برای راهاندازی UFW در Hetzner Cloud، مراحل زیر را دنبال کنید:
تنظیم سیاستهای پیشفرض
زمانی که با UFW شروع میکنید، هیچ قانونی وجود ندارد. توصیه میشود که سیاستهای پیشفرضی که به عنوان قوانین پشتیبان استفاده میشوند، تنظیم شود. ما باید UFW (فایروال ساده) را با استفاده از دستورات زیر پیکربندی کنیم تا تمام اتصالات ورودی را مسدود کرده و تمام اتصالات خروجی را مجاز کنیم.
$ ufw default deny incoming
$ ufw default allow outgoing
این قوانین هنوز فعال نیستند، زیرا ما در این مرحله سرویس UFW را فعال نکردهایم.
اجازه دادن به اتصالات SSH
اگر کاربران بر روی یک سیستم از راه دور از طریق SSH کار میکنند، ابتدا باید پورت SSH یا سرویس SSH را مجاز کنیم. در غیر این صورت، کاربر ممکن است خود را از سیستم قفل کند.
اگر کاربران از پیکربندی پیشفرض SSH استفاده میکنند، دیمون SSH در پورت ۲۲ گوش میدهد. کاربران میتوانند با استفاده از دستور زیر اتصالات به این پورت را مجاز کنند:
$ ufw allow ssh
با این حال، اگر سرور SSH کاربر به پورت دیگری گوش میدهد، میتوانند با اجرای دستور زیر یک قانون دستی ایجاد کنند. در این آموزش، ما از پورت نمونه: ۲۲۲۲ استفاده میکنیم:
$ ufw allow 2222/tcp
پس از این مرحله، باید UFW را در سرور فعال کنیم.
فعالسازی UFW
پس از اینکه کاربر یک قانون برای سرور SSH خود پیکربندی کرده است، میتواند UFW را با اجرای دستور زیر فعال کند:
$ ufw enable
شاید کاربران پیامی هشداردهنده دریافت کنند که آنها را به یاد ایجاد یک قانون برای اتصالات SSH میاندازد و اگر کاربران این قانون را ایجاد کردهاند، میتوانند با فشار دادن y و کلیک بر روی دکمه ENTER آن را تأیید کنند.
اکنون، فایروال UFW در سیستم فعال شده و سرویس UFW در حال اجرا است. کاربران میتوانند هر زمان که بخواهند، وضعیت فعلی UFW را با اجرای دستور زیر بررسی کنند:
$ ufw status
(اختیاری) فعالسازی IPv6 با UFW
اگر کاربر از IPv6 استفاده میکند، توصیه میشود که فایل پیکربندی UFW را برای تنظیمات گزینههایی که مؤلفه IPv6 را فعال میکنند، بررسی کند. برای اکثر سیستمها، این گزینه از قبل تنظیم شده است. کاربران میتوانند فایل تنظیمات UFW را با استفاده از nano یا هر ویرایشگر متنی دیگری باز کنند:
$ nano /etc/default/ufw
در فایل، به دنبال کلید نامگذاری شده IPV6 بگردید و مقدار آن را به yes تنظیم کنید، همانطور که در مثال زیر نشان داده شده است:
IPV6=yes
اگر مقدار آن از قبل به yes تنظیم شده باشد، کاربران میتوانند فایل را بدون تغییر باقی بگذارند، زیرا IPv6 برای UFW از قبل فعال است.
مرحله ۳: پیکربندی UFW
افزودن یک قانون
پس از راهاندازی اصول اولیه برای UFW، کاربران میتوانند به افزودن قوانین اتصالی ادامه دهند که ممکن است برای کاربر مهم باشد. کاربران میتوانند این کار را به دو روش مختلف انجام دهند:
گزینه ۱:
کاربران باید از این گزینه زمانی استفاده کنند که از پورتهای پیشفرض برنامه استفاده نمیکنند یا نمیخواهند از پروفایلهای پیشتنظیم شده UFW بهرهبرداری کنند.
قانون نمونه زیر پورت ۲۵ را بر روی پروتکل TCP باز میکند:
$ ufw allow 25/tcp
با تغییر پورت یا پروتکل، به عنوان مثال، به UDP، زمانی که کاربران نیاز به مجاز کردن یک پورت برای اتصالات UDP دارند، میتوانند هر برنامه مرتبط با شبکه را به لیست فایروال اضافه کنند.
گزینه ۲:
اگر کاربر از پورتهای پیشفرض برنامه استفاده میکند، میتواند از تنظیمات میانبر نیز استفاده کند. برای فهرست کردن خدمات موجود، کاربران میتوانند دستور زیر را اجرا کنند:
$ ufw app list
ترجمه:
برای فعالسازی یکی از پروفایلهای فهرست شده در خروجی دستور بالا، کاربران فقط نیاز دارند که دستور `ufw enable` را با استفاده از نام سرویس به عنوان یک آرگومان فراخوانی کنند، مانند:
$ ufw allow IMAP
پس از اجرای دستور بالا به عنوان تأیید، UFW به کاربر اطلاع خواهد داد که چه قوانین/پورتهایی به لیست اضافه شدهاند.
فهرست قوانین
برای مشاهده تمام قوانین فعال شده، کاربران میتوانند دستور زیر را اجرا کنند:
$ ufw status
حذف یک قانون
راحتترین راه برای حذف یک قانون در UFW، نمایش نسخه شمارهگذاری شده “فهرست قوانین” و اعمال دستور حذف است.
ابتدا، دستور زیر را اجرا کنید تا نسخه شمارهگذاری شده را فهرست کنید:
$ ufw status numbered
خروجی مشابه زیر را خواهید دید:
Status: active
To Action From
— —— —-
۲۲ ALLOW IN Anywhere
۲۵/tcp ALLOW IN Anywhere
۸۰ ALLOW IN Anywhere
۴۴۳ ALLOW IN Anywhere
۲۲ (v6) ALLOW IN Anywhere (v6)
۲۵/tcp (v6) ALLOW IN Anywhere (v6)
۸۰ (v6) ALLOW IN Anywhere (v6)
۴۴۳ (v6) ALLOW IN Anywhere (v6)
برای حذف قانون شماره ۳ (پورت ۸۰)، اجرای دستور زیر کافی است:
$ ufw delete 3
پس از اجرای این دستور، قانون شماره ۳ از فایروال حذف خواهد شد.
سپس، دستور زیر را برای حذف قانون با وارد کردن شماره قانون اجرا کنید، مانند:
$ ufw delete 1
غیرفعال کردن UFW
اگر کاربر نیاز به غیرفعال کردن فایروال UFW برای هرگونه اهداف اشکالزدایی داشته باشد، میتواند با اجرای دستور زیر این کار را انجام دهد:
$ ufw disable
زمانی که کاربر بخواهد دوباره فایروال را فعال کند، میتواند دستورالعملهای ذکر شده در مرحله ۲ را دنبال کند.
بازنشانی UFW
برای بازنشانی تمام قوانین و تنظیمات UFW به مقادیر پیشفرض، دستور زیر را اجرا کنید:
$ ufw reset
نتیجهگیری
این آموزش مراحل راهاندازی مدیریت فایروال ساده با UFW در Hetzner Cloud را ارائه میدهد. امیدواریم این آموزش مفید بوده باشد و اگر هرگونه سؤال یا پیشنهادی دارید، با ما ارتباط بگیرید.