Miklix

نحوه راه اندازی فایروال در سرور اوبونتو

منتشر شده: ۱۵ فوریهٔ ۲۰۲۵ ساعت ۲۱:۳۵:۲۷ (UTC)
آخرین به روز رسانی: ۱۲ ژانویهٔ ۲۰۲۶ ساعت ۸:۳۷:۴۲ (UTC)

این مقاله توضیح می‌دهد و چند مثال در مورد نحوه راه‌اندازی فایروال در گنو/لینوکس با استفاده از ufw ارائه می‌دهد، که مخفف Uncomplicated FireWall است - و این نام کاملاً برازنده آن است، واقعاً راهی بسیار آسان برای اطمینان از این است که پورت‌های بیشتری از آنچه نیاز دارید باز ندارید.


این صفحه ماشینی از انگلیسی ترجمه شد تا در دسترس هر چه بیشتر مردم باشد. متأسفانه، ترجمه ماشینی هنوز یک فناوری کامل نشده است، بنابراین ممکن است خطاهایی رخ دهد. در صورت تمایل می توانید نسخه اصلی انگلیسی را در اینجا مشاهده کنید:

How to Set Up a Firewall on Ubuntu Server

اطلاعات موجود در این پست بر اساس اوبونتو سرور ۱۴.۰۴ x۶۴ است. ممکن است برای نسخه‌های دیگر معتبر باشد یا نباشد. (به‌روزرسانی: می‌توانم تأیید کنم که اطلاعات موجود در این پست اساساً هنوز از اوبونتو سرور ۲۴.۰۴ معتبر و کاربردی است، با این حال در ۱۰ سال اخیر، ufw با داشتن پروفایل‌هایی برای برنامه‌های رایج سرور (به عنوان مثال، می‌توانید "Nginx full" را به جای پورت‌های ۸۰ و ۴۴۳ به طور جداگانه فعال کنید) تا حدودی "هوشمندتر" شده است و غیرفعال/فعال کردن کل فایروال برای اعمال قوانین جدید دیگر ضروری نیست.)

وقتی برای اولین بار با سرورهای گنو/لینوکس (اوبونتو) شروع به کار کردم، راه‌اندازی یک فایروال شامل ایجاد و نگهداری دستی یک فایل پیکربندی بالقوه پیچیده برای iptables بود. با این حال، اخیراً ufw را کشف کرده‌ام که مخفف Uncomplicated Firewall است - و واقعاً هم همینطور است :-)

روی نصب من از اوبونتو سرور ۱۴.۰۴، ufw از قبل نصب شده بود، اما اگر روی شما نصب نیست، به سادگی آن را از مخازن نصب کنید:

sudo apt-get install ufw

UFW در واقع فقط ابزاری است که پیکربندی iptables را ساده می‌کند - در پشت صحنه، هنوز iptables و فایروال هسته لینوکس هستند که فیلترینگ را انجام می‌دهند، بنابراین ufw نه کمتر و نه بیشتر از اینها امن است. با این حال، از آنجا که ufw پیکربندی صحیح فایروال را بسیار آسان‌تر می‌کند، ممکن است خطر خطای انسانی را کاهش دهد و بنابراین احتمالاً برای مدیران بی‌تجربه امن‌تر است.

اگر سرور شما علاوه بر IPv4 با IPv6 نیز پیکربندی شده است، مطمئن شوید که این قابلیت برای UFW نیز فعال شده است. فایل /etc/default/ufw را ویرایش کنید و به دنبال خطی بگردید که می‌گوید IPV6=yes. در نصب من، این خط از قبل وجود داشت، اما اگر اینطور نیست یا اگر نوشته شده خیر، باید آن را ویرایش کنید.

سپس به سادگی از خط فرمان برای فعال کردن پورت‌هایی که می‌خواهید باز باشند استفاده کنید. اگر از طریق ssh به سرور خود متصل هستید، حتماً آن را نیز فعال کنید، در غیر این صورت ممکن است اتصال شما مختل شود و احتمالاً هنگام فعال کردن آن، دسترسی به سرور شما مسدود شود - بسته به اینکه آیا به سرور دسترسی فیزیکی دارید یا خیر، این ممکن است کمی ناخوشایند باشد ;-)

برای مثال، اگر از ssh روی پورت استاندارد ۲۲ استفاده می‌کنید و در حال پیکربندی یک وب سرور هستید که از هر دو اتصال رمزگذاری نشده (HTTP روی پورت ۸۰) و رمزگذاری شده (HTTPS روی پورت ۴۴۳) پشتیبانی می‌کند، باید دستورات زیر را برای پیکربندی ufw اجرا کنید:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

اگر به قوانین بیشتری نیاز دارید، کافیست آنها را مانند بالا اضافه کنید.

اگر یک آدرس IP استاتیک دارید و فقط نیاز دارید که از طریق ssh از یک مکان متصل شوید، می‌توانید اتصالات ssh را به یک آدرس مبدا واحد مانند این محدود کنید:

sudo ufw allow from 192.168.0.1 to any port 22

البته، به جای آن آدرس IP خودتان را وارد کنید.

پس از اتمام، ufw را با وارد کردن دستور زیر فعال کنید:

sudo ufw enable

و تمام شد! فایروال در حال اجرا است و هنگام راه‌اندازی مجدد سرور، به‌طور خودکار راه‌اندازی می‌شود :-)

اگر تغییراتی در پیکربندی ufw ایجاد کنید، ممکن است لازم باشد آن را غیرفعال و دوباره فعال کنید تا اعمال شوند، مانند این:

sudo ufw disable
sudo ufw enable

برای مشاهده پیکربندی فعلی، کافیست دستور زیر را وارد کنید:

sudo ufw status

اگر ufw فعال نباشد، این به سادگی یک پیام «غیرفعال» نشان می‌دهد، در غیر این صورت قوانین تعریف‌شده‌ی فعلی را فهرست می‌کند.

در Bluesky به اشتراک بگذاریددر فیسبوک به اشتراک بگذاریددر لینکدین به اشتراک بگذاریددر Tumblr به اشتراک بگذاریددر X به اشتراک بگذاریددر لینکدین به اشتراک بگذاریدپین در پینترست

میکل کریستنسن

درباره نویسنده

میکل کریستنسن
مایکل خالق و صاحب miklix.com است. او بیش از 20 سال تجربه به عنوان یک برنامه نویس حرفه ای کامپیوتر / توسعه دهنده نرم افزار دارد و در حال حاضر به طور تمام وقت برای یک شرکت بزرگ فناوری اطلاعات اروپایی مشغول به کار است. هنگامی که وبلاگ نویسی نمی کند، اوقات فراغت خود را صرف مجموعه وسیعی از علایق، سرگرمی ها و فعالیت ها می کند، که ممکن است تا حدی در موضوعات مختلف پوشش داده شده در این وب سایت منعکس شود.