نحوه راه اندازی فایروال در سرور اوبونتو
منتشر شده: ۱۵ فوریهٔ ۲۰۲۵ ساعت ۲۱:۳۵:۲۷ (UTC)
آخرین به روز رسانی: ۱۲ ژانویهٔ ۲۰۲۶ ساعت ۸:۳۷:۴۲ (UTC)
این مقاله توضیح میدهد و چند مثال در مورد نحوه راهاندازی فایروال در گنو/لینوکس با استفاده از ufw ارائه میدهد، که مخفف Uncomplicated FireWall است - و این نام کاملاً برازنده آن است، واقعاً راهی بسیار آسان برای اطمینان از این است که پورتهای بیشتری از آنچه نیاز دارید باز ندارید.
How to Set Up a Firewall on Ubuntu Server
اطلاعات موجود در این پست بر اساس اوبونتو سرور ۱۴.۰۴ x۶۴ است. ممکن است برای نسخههای دیگر معتبر باشد یا نباشد. (بهروزرسانی: میتوانم تأیید کنم که اطلاعات موجود در این پست اساساً هنوز از اوبونتو سرور ۲۴.۰۴ معتبر و کاربردی است، با این حال در ۱۰ سال اخیر، ufw با داشتن پروفایلهایی برای برنامههای رایج سرور (به عنوان مثال، میتوانید "Nginx full" را به جای پورتهای ۸۰ و ۴۴۳ به طور جداگانه فعال کنید) تا حدودی "هوشمندتر" شده است و غیرفعال/فعال کردن کل فایروال برای اعمال قوانین جدید دیگر ضروری نیست.)
وقتی برای اولین بار با سرورهای گنو/لینوکس (اوبونتو) شروع به کار کردم، راهاندازی یک فایروال شامل ایجاد و نگهداری دستی یک فایل پیکربندی بالقوه پیچیده برای iptables بود. با این حال، اخیراً ufw را کشف کردهام که مخفف Uncomplicated Firewall است - و واقعاً هم همینطور است :-)
روی نصب من از اوبونتو سرور ۱۴.۰۴، ufw از قبل نصب شده بود، اما اگر روی شما نصب نیست، به سادگی آن را از مخازن نصب کنید:
UFW در واقع فقط ابزاری است که پیکربندی iptables را ساده میکند - در پشت صحنه، هنوز iptables و فایروال هسته لینوکس هستند که فیلترینگ را انجام میدهند، بنابراین ufw نه کمتر و نه بیشتر از اینها امن است. با این حال، از آنجا که ufw پیکربندی صحیح فایروال را بسیار آسانتر میکند، ممکن است خطر خطای انسانی را کاهش دهد و بنابراین احتمالاً برای مدیران بیتجربه امنتر است.
اگر سرور شما علاوه بر IPv4 با IPv6 نیز پیکربندی شده است، مطمئن شوید که این قابلیت برای UFW نیز فعال شده است. فایل /etc/default/ufw را ویرایش کنید و به دنبال خطی بگردید که میگوید IPV6=yes. در نصب من، این خط از قبل وجود داشت، اما اگر اینطور نیست یا اگر نوشته شده خیر، باید آن را ویرایش کنید.
سپس به سادگی از خط فرمان برای فعال کردن پورتهایی که میخواهید باز باشند استفاده کنید. اگر از طریق ssh به سرور خود متصل هستید، حتماً آن را نیز فعال کنید، در غیر این صورت ممکن است اتصال شما مختل شود و احتمالاً هنگام فعال کردن آن، دسترسی به سرور شما مسدود شود - بسته به اینکه آیا به سرور دسترسی فیزیکی دارید یا خیر، این ممکن است کمی ناخوشایند باشد ;-)
برای مثال، اگر از ssh روی پورت استاندارد ۲۲ استفاده میکنید و در حال پیکربندی یک وب سرور هستید که از هر دو اتصال رمزگذاری نشده (HTTP روی پورت ۸۰) و رمزگذاری شده (HTTPS روی پورت ۴۴۳) پشتیبانی میکند، باید دستورات زیر را برای پیکربندی ufw اجرا کنید:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
اگر به قوانین بیشتری نیاز دارید، کافیست آنها را مانند بالا اضافه کنید.
اگر یک آدرس IP استاتیک دارید و فقط نیاز دارید که از طریق ssh از یک مکان متصل شوید، میتوانید اتصالات ssh را به یک آدرس مبدا واحد مانند این محدود کنید:
البته، به جای آن آدرس IP خودتان را وارد کنید.
پس از اتمام، ufw را با وارد کردن دستور زیر فعال کنید:
و تمام شد! فایروال در حال اجرا است و هنگام راهاندازی مجدد سرور، بهطور خودکار راهاندازی میشود :-)
اگر تغییراتی در پیکربندی ufw ایجاد کنید، ممکن است لازم باشد آن را غیرفعال و دوباره فعال کنید تا اعمال شوند، مانند این:
sudo ufw enable
برای مشاهده پیکربندی فعلی، کافیست دستور زیر را وارد کنید:
اگر ufw فعال نباشد، این به سادگی یک پیام «غیرفعال» نشان میدهد، در غیر این صورت قوانین تعریفشدهی فعلی را فهرست میکند.
