در دنیای امروز، که تهدیدات امنیتی هر روز پیچیدهتر میشود، حفاظت از سرورهای لینوکسی به ویژه سرورهای مبتنی بر اوبونتو اهمیت بیشتری یافته است. یکی از سادهترین و در عین حال مؤثرترین ابزارهای موجود برای مدیریت دیواره آتش در اوبونتو، فایروال UFW (Uncomplicated Firewall) است. این ابزار با هدف سادهسازی مدیریت قوانین فایروال طراحی شده است تا حتی کاربران غیرمتخصص نیز بتوانند امنیت سیستم خود را تا حد زیادی بهبود بخشند.
در این راهنما قصد داریم به صورت دقیق و گامبهگام نحوه نصب، پیکربندی، مدیریت و استفاده از UFW در اوبونتو را آموزش دهیم، به طوری که بدون نیاز به درگیر شدن با پیچیدگیهای iptables، بتوانید یک فایروال قدرتمند روی سرور خود پیادهسازی کنید.
خلاصه مقاله
فایروال UFW (Uncomplicated Firewall) یکی از سادهترین و کاربردیترین ابزارهای مدیریت امنیت در سرورهای لینوکسی، بهویژه اوبونتو، محسوب میشود.
UFW به کاربران این امکان را میدهد که بدون نیاز به تنظیمات پیچیده، کنترل دقیقی بر ترافیک ورودی و خروجی سرور خود اعمال کنند.
برای شروع، ابتدا باید با اجرای دستورات sudo apt update و sudo apt install ufw اطمینان حاصل کنید که UFW روی سیستم نصب شده است.
سپس با دستور sudo ufw status وضعیت فعال یا غیرفعال بودن آن را بررسی کنید.
قبل از فعالسازی، باید دسترسی به سرویسهای حیاتی مانند SSH با دستوری مثل sudo ufw allow ssh باز شود تا ارتباط شما با سرور قطع نشود.
پس از انجام تنظیمات ابتدایی، میتوانید فایروال را با دستور sudo ufw enable فعال کنید.
سیاستهای پیشفرض فایروال باید به گونهای تنظیم شود که تمامی ترافیکهای ورودی مسدود و ترافیکهای خروجی مجاز باشند (sudo ufw default deny incoming و sudo ufw default allow outgoing).
افزودن یا حذف قوانین، فعال کردن لاگگیری (sudo ufw logging on)، محدود کردن نرخ اتصال برای جلوگیری از حملات brute-force (sudo ufw limit ssh) و مدیریت پروفایلهای اپلیکیشنها از دیگر امکانات مهم UFW است.
در نهایت، برای بازگرداندن تنظیمات به حالت اولیه، میتوان از دستور sudo ufw reset استفاده کرد.
UFW با سادگی، قدرت و امکانات مناسب، به یکی از ابزارهای محبوب برای ارتقاء امنیت سرورهای اوبونتو تبدیل شده است.
فهرست مطالب
UFW چیست و چه کاربردی دارد؟
UFW یک رابط کاربری ساده برای مدیریت iptables است که به کاربران این امکان را میدهد بدون نیاز به نوشتن دستورات پیچیده، سیاستهای امنیتی مناسبی برای ترافیک ورودی و خروجی سرور خود اعمال کنند.
این ابزار مخصوصاً برای کسانی که در زمینه مدیریت سرور تجربهی زیادی ندارند، ایدهآل است و در عین حال امکانات پیشرفتهای برای کاربران حرفهایتر هم فراهم میکند.
فرض کنید سروری دارید که خدماتی مثل SSH یا وبسرور روی آن فعال است. بدون وجود یک فایروال مناسب، این سرور در معرض انواع حملات سایبری، از جمله حملات brute-force یا تلاشهای غیرمجاز برای دسترسی به پورتهای حساس قرار میگیرد. UFW به شما کمک میکند با تعیین قوانین مشخص، تنها به ترافیک مجاز اجازه عبور داده و از ورود ترافیکهای ناخواسته جلوگیری کنید.
مراحل نصب و پیکربندی فایروال UFW در اوبونتو
بهروزرسانی مخازن و نصب UFW
در گام نخست، لازم است اطمینان حاصل کنید که مخازن بستههای نرمافزاری سیستم بهروز هستند. این کار با دستور زیر انجام میشود:
sudo apt update
سپس، اگر UFW روی سیستم شما نصب نشده بود، با دستور زیر آن را نصب کنید:
sudo apt install ufw
در اکثر نسخههای جدید اوبونتو مثل 20.04 و 22.04، این ابزار به صورت پیشفرض نصب شده است. با این حال، بهتر است وضعیت نصب آن را بررسی کنید.
بررسی وضعیت فایروال
پس از نصب، برای بررسی وضعیت فعلی فایروال از دستور زیر استفاده کنید:
sudo ufw status
اگر نتیجه خروجی به صورت Status: inactive نمایش داده شد، به این معناست که فایروال نصب شده ولی هنوز فعال نشده است.
پیش از فعالسازی فایروال چه کارهایی باید انجام شود؟
بسیار مهم است که پیش از فعالکردن فایروال، دسترسی به سرویسهای ضروری مانند SSH فراهم شده باشد.
در غیر این صورت، با فعالسازی فایروال ممکن است دسترسی خود به سرور را از دست بدهید.
برای باز گذاشتن دسترسی به SSH، کافیست دستور زیر را وارد کنید:
sudo ufw allow ssh
اگر SSH روی پورتی غیر از 22 تنظیم شده، مثلاً 2222، دستور زیر را استفاده کنید:
sudo ufw allow 2222/tcp
به همین ترتیب، اگر سرور شما یک وبسرور فعال دارد و نیاز به باز گذاشتن پورت HTTP و HTTPS دارید، این دستورات را وارد کنید:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
فعالسازی فایروال
پس از انجام تنظیمات اولیه، میتوانید فایروال را فعال کنید:
sudo ufw enable
بعد از اجرای این دستور، UFW شروع به اعمال قوانین امنیتی تعریف شده میکند.
توجه داشته باشید که فعالسازی UFW بلافاصله صورت میگیرد و نیازی به راهاندازی مجدد سرور نیست.
بررسی مجدد وضعیت فایروال
برای اطمینان از فعال شدن فایروال و صحت قوانین اعمال شده، میتوانید از دستور زیر استفاده کنید:
sudo ufw status verbose
این دستور علاوه بر وضعیت فعال یا غیرفعال بودن، فهرستی از قوانین مجاز و مسدود شده را به صورت دقیق نمایش میدهد.
تنظیم سیاستهای پیشفرض (Default Policies)
یکی از اقدامات ضروری در پیکربندی فایروال، تعیین سیاستهای پیشفرض است. این سیاستها تعیین میکنند که فایروال در قبال ترافیکهایی که بهطور مشخص قانونی برایشان تعریف نشده، چه رفتاری داشته باشد.
توصیه میشود که تمام اتصالهای ورودی به صورت پیشفرض مسدود شوند و تنها اتصالهای خروجی مجاز باشند. این کار ریسک نفوذهای احتمالی را به شدت کاهش میدهد.
برای این منظور دستورات زیر را اجرا کنید:
sudo ufw default deny incoming
sudo ufw default allow outgoing
این تنظیمات باعث میشود که سرور فقط به ترافیکهایی پاسخ دهد که بهطور مشخص اجازه داده شدهاند، اما بتواند بدون محدودیت به منابع خارجی دسترسی داشته باشد.
اضافه کردن قوانین دسترسی
پس از تعیین سیاستهای پیشفرض، لازم است قوانین خاصی را برای سرویسهای مورد نیاز خود اضافه کنید.
همانطور که قبلاً اشاره شد، برای اجازه دادن به سرویسهایی مانند SSH، HTTP و HTTPS میتوانید از دستورات زیر استفاده کنید:
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
اگر مایل هستید دسترسی به سرویس مشخصی فقط از یک آیپی خاص مجاز باشد، میتوانید از دستور زیر بهره ببرید:
sudo ufw allow from 192.168.1.100 to any port 22
این دستور فقط به آدرس آیپی 192.168.1.100 اجازه میدهد از طریق پورت ۲۲ (SSH) به سرور شما متصل شود.
استفاده از پروفایلهای اپلیکیشنها
یکی از امکانات جالب UFW، استفاده از پروفایلهای برنامهها است. بسیاری از برنامههای نصب شده روی سرور، پروفایل مخصوصی در UFW تعریف میکنند که شامل پورتها و پروتکلهای مورد نیاز آن برنامه است.
برای مشاهده لیست پروفایلهای موجود:
sudo ufw app list
برای مثال، اگر بخواهید دسترسی کامل به وبسرور Nginx را فراهم کنید، کافیست از دستور زیر استفاده کنید:
sudo ufw allow ‘Nginx Full’
این کار همزمان دسترسی به پورتهای 80 و 443 را برای nginx فراهم میکند.
محدود کردن نرخ درخواستها (Rate Limiting)
برای محافظت بهتر در برابر حملاتی مانند حملات brute-force به SSH، میتوانید تعداد دفعات اتصال مجاز در یک بازه زمانی را محدود کنید. UFW این قابلیت را با دستور limit ارائه میدهد.
برای اعمال محدودیت به سرویس SSH:
sudo ufw limit ssh
با این کار اگر یک آیپی خاص بیش از حد مجاز درخواست اتصال بفرستد، به طور خودکار بلاک میشود.
حذف قوانین در UFW
گاهی ممکن است بخواهید یک قانون دسترسی را حذف کنید. برای این کار ابتدا باید لیست قوانین را با شماره مشاهده کنید:
sudo ufw status numbered
سپس، برای حذف یک قانون خاص، به شکل زیر عمل میکنید:
sudo ufw delete [number]
به جای [number] باید شمارهی قانون مورد نظر را قرار دهید.
برای مثال اگر بخواهید قانون شماره ۳ را حذف کنید:
sudo ufw delete 3
فعالسازی لاگگیری در فایروال
فعالسازی لاگ در فایروال به شما این امکان را میدهد که تمامی فعالیتها و تلاشهای اتصال ثبت شوند. این کار برای تحلیل رفتار شبکه و تشخیص حملات احتمالی بسیار مفید است.
برای فعال کردن لاگ:
sudo ufw logging on
در صورت نیاز به تغییر سطح لاگگیری (از حالت low تا full)، میتوانید دستور زیر را استفاده کنید:
sudo ufw logging high
لاگهای ثبتشده معمولاً در فایل زیر ذخیره میشوند:
/var/log/ufw.log
ریست کامل تنظیمات فایروال
اگر در طول پیکربندی دچار اشتباه شدید یا بخواهید UFW را به حالت اولیه برگردانید، میتوانید از دستور reset استفاده کنید. این دستور تمام قوانین فعلی را حذف کرده و تنظیمات به حالت پیشفرض بازگردانده میشود:
sudo ufw reset
پس از ریست، باید مجدداً قوانین و سیاستهای پیشفرض را از ابتدا تعریف کنید.
غیرفعال کردن موقت فایروال
در صورتی که نیاز به غیرفعال کردن فایروال داشته باشید، بدون اینکه تنظیمات موجود را از دست بدهید، میتوانید دستور زیر را اجرا کنید:
sudo ufw disable
با این کار فایروال غیرفعال میشود اما قوانین قبلی حفظ خواهند شد.
برای فعالسازی مجدد فایروال:
sudo ufw enable
نکات نهایی درباره کار با UFW
- همیشه پیش از فعالسازی فایروال، مطمئن شوید که دسترسی به سرویسهای حیاتی مانند SSH باز است، در غیر این صورت ممکن است دسترسی به سرور را از دست بدهید.
- استفاده از دستور limit به ویژه برای سرویس SSH توصیه میشود، زیرا حملات brute-force روی SSH بسیار رایج هستند.
- فعال کردن لاگگیری کمک میکند به سرعت متوجه رفتارهای مشکوک در شبکه شوید و اقدامات لازم را انجام دهید.
- پس از هر بار اعمال تغییرات مهم، وضعیت فایروال را با دستور sudo ufw status بررسی کنید تا از صحت تنظیمات اطمینان حاصل نمایید.
- اگر نیاز دارید که تنظیمات خاصی برای هر اپلیکیشن ایجاد کنید، از قابلیت پروفایل اپلیکیشنها در UFW غافل نشوید.
کلام آخر
UFW ابزاری ساده ولی بسیار قدرتمند برای مدیریت امنیت سرورهای اوبونتو است. با نصب، پیکربندی و مدیریت صحیح این فایروال میتوانید از سرور خود در برابر تهدیدات گسترده اینترنتی محافظت کنید.
اجرای سیاستهای امنیتی مناسب، باز کردن فقط پورتهای ضروری، نظارت بر لاگها و اعمال محدودیتها بهصورت هوشمندانه، از جمله اقداماتی است که به کمک UFW میتوانید به راحتی انجام دهید.
در نهایت، توجه داشته باشید که امنیت سرور، فرآیندی پیوسته است و نیاز به بازبینی و بهروزرسانی مداوم قوانین دارد. استفاده از UFW میتواند اولین گام در مسیر ایجاد یک ساختار امنیتی قوی برای سیستم شما باشد.
سوالات متداول
۱. فایروال UFW چیست؟
UFW یا Uncomplicated Firewall یک ابزار ساده برای مدیریت iptables در سیستمهای لینوکسی است که با هدف سادهتر کردن فرآیند پیکربندی فایروال طراحی شده است.
۲. آیا UFW بهطور پیشفرض در اوبونتو نصب شده است؟
بله، در بسیاری از نسخههای اوبونتو مانند ۱۸.۰۴، ۲۰.۰۴ و ۲۲.۰۴، UFW به صورت پیشفرض نصب شده ولی فعال نیست. با این حال، بهتر است با اجرای دستور sudo apt install ufw از نصب بودن آن اطمینان حاصل کنید.
۳. قبل از فعال کردن UFW چه نکتهای مهم است؟
پیش از فعالسازی فایروال، باید دسترسی به سرویسهای حیاتی مانند SSH را باز کنید، تا پس از فعال شدن فایروال، دسترسی به سرور قطع نشود.
۴. چگونه میتوان اتصالهای ناخواسته را محدود کرد؟
برای جلوگیری از حملات brute-force میتوانید از دستور sudo ufw limit ssh استفاده کنید که نرخ مجاز اتصالها را کنترل میکند.
۵. اگر تنظیمات UFW را اشتباه وارد کنم، چه کار باید بکنم؟
میتوانید با دستور sudo ufw reset تمام تنظیمات و قوانین فایروال را پاک کرده و به حالت اولیه بازگردانید.
۶. آیا پس از تغییر قوانین نیاز به ریستارت فایروال یا سرور است؟
خیر، تغییرات اعمال شده در UFW به صورت آنی اعمال میشوند و نیازی به ریبوت سرور یا ریستارت فایروال وجود ندارد.