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