شما برای مطالعه این مقاله فقط 9 دقیقه وقت نیاز دارید

install-UFW-on-linux

آموزش نصب و راه اندازی فایروال UFW در لینوکس اوبونتو و دبیان

2.7/5 - (3 امتیاز)

نقش فایروال در حوزه امنیت شبکه غیر قابل انکار است و نصب UFW در لینوکس اوبونتو و دبیان باعث می شود که مدیریت و پیکربندی قوانین فایروال iptables با استفاده از یک رابط ساده و کاربرپسند انجام شود.

UFW یکی از ابزارهای مهمی است که توسعه دهندگان با استفاده از آن می توانند به راحتی از عهده ایجاد، تغییر و مدیریت قوانین فایروال بربیایند تا سطح امنیت سرور یا شبکه خود را بالا ببرند.

پس با این اوصاف، اگر به دنبال ایمن سازی شبکه خود هستید و نمی دانید از کجا شروع کنید. آموزش نصب و راه اندازی UFW در لینوکس می تواند مسیر خوبی برای شروع باشد:

UFW یا Uncomplicated Firewall چیست؟

UFW چیست

بدون فایروال هیچ قانون و محدودیتی در ترافیک شبکه وجود ندارد که مطمئناً همین بی قانونی باعث بروز خطراتی مثل دسترسی غیرمجاز و حملات هکری می شود. اینجاست که iptables جلب توجه می کند. قوانینی که قرار است حکم بازرس را داشته باشند و ترافیک ورودی/خروجی را نظارت کنند توسط iptables تعریف می شوند. با اینکه این ابزار خودش قدرت و انعطاف پذیری بالایی دارد ولی کار کردن با آن کمی سخت و پیچیده است. UFW هم با هدف ساده سازی کار با iptables توسعه یافته است. رابط کاربری فایروال UFW به کاربر کمک کند که خیلی راحت تر و سریع تر از عهده پیکربندی قوانین فایروال بربیاید.

در واقع، مدیریت قوانین Netfilter ایجاد شده توسط دستورات iptables کمی پیچیده و گیج کننده است (مخصوصاً برای افراد مبتدی که با فایروال زیاد آشنا نیستند) به همین خاطر استفاده از UFW در لینوکس باعث می شود که یک رابط ساده برای پیکربندی قوانین netfilter داشته باشید. این ابزار نقش فرانت اند iptables را دارد که قوانین فایروال را برای آدرس IPv4 و IPv6 تنظیم می کند.

پس با توجه به اینکه نقش و اهمیت فایروال در شبکه غیرقابل انکار است، اکثر توسعه دهندگان و فعالان حوضه شبکه به جای اینکه درگیر پیچیدگی های پروسه کار با iptables شوند، سعی می کنند بیشتر روی کیفیت قوانین تمرکز کنند و پروسه پیکربندی و مدیریت آنها را با هم با رابط کاربری UFW جلو ببرند چوت امنیت فاکتور بسیار مهمی است و نباید در حفاظت از سرور و سیستم خود تعلل کند.

مخصوصاً که اگر موقع خرید سرور مجازی لینوکس، تمام موارد و امکانات امنیتی ارائه دهنده را در نظر گرفته اید، اجازه ندهید که پیچیده بودن پروسه ایجاد و اعمال قوانین فایروال، تنها دلیل آسیب پذیری سرور یا شبکه شما باشد.

اگر هم نیاز به یک سرور مجازی قدرتمند با امنیت بالا و دسترسی SSH هستید تا به راحتی از عهده پردازش ترافیک و درخواست ها بر بیاید، توصیه می کنیم که نگاهی به صفحه خرید سرور مجازی لینوکس ما بیاندازید و با بررسی امکانات، ویژگی ها و قیمت پلن ها، انتخاب فوق العاده امن و قدرتمندی را برای کسب و کار خود انجام دهید.

مراحل نصب UFW در لینوکس اوبونتو و دبیان

قبل از هر کاری اول باید مطمئن باشید که با یک کاربر sudo یا روت به ترمینال لینوکس دسترسی دارید چون فقط این نوع کاربران می توانند فایروال سیستم را مدیریت کنند.

1. با استفاده از دستور زیر، تمام پکیج ها و وابستگی های سیستم را آپدیت کنید.

sudo apt update

2. UFW را نصب کنید.

UFW به طور پیش فرض همراه اوبونتو نصب می شود ولی اگر به دلایلی با اجرای دستور زیر متوجه شدید که این ابزار در سیستم شما وجود ندارد، می توانید به نصب آن ادامه بدهید.

sudo ufw status

– برای نصب UFW در لینوکس اوبونتو و دبیان، دستور زیر را وارد کنید:

sudo apt install ufw

– حالا اگر دوباره وضعیت UFW را بررسی کنید، متوجه می شوید که غیرفعال است:

sudo ufw status verbose

Status: inactive

دلیل غیرفعال بودن UFW این است که از قفل شدن سرور جلوگیری شود.

3. UFW را فعال کنید.

برای فعال سازی UFW کافیست دستور زیر را وارد کنید:

sudo ufw enable

بعد از بررسی مجدد وضعیت UFW، با چنین خروجی مواجه خواهید شد:

بررسی وضعیت UFW در لینوکس

اگر به هر دلیلی خواستید این ابزار را غیر فعال کنید، کافیست در ستور بالا به جای enable، از disable استفاده کنید.

سیاست های پیش فرض UFW

سیاست های امنیتی پیش فرض UFW برای تعریف و ایجاد قوانین دقیق تر توسط کاربر است. در کل، این سیاست های پیش فرض نقطه شروع خوبی محسوب می شوند.

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

این سیاست ها در فایل /etc/default/ufw ذخیره شده اند که با استفاده از دستورات خاصی می توان آنها را تغییر داد. در بخش پیکربندی به برخی از مهم ترین دستورات اشاره می کنیم.

وقتی یک بسته نرم افزاری را با استفاده از APT نصب می کنید، یک پروفایل حاوی اطلاعاتی در مورد آن نرم افزار تهیه می شود و در دایرکتوری /etc/ufw/applications.d قرار می گیرد و تنظیمات UFW مربوط به آن را هم شامل می شود.

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

sudo ufw app list

خروجی این دستور بستگی به برنامه هایی دارد که تا الان نصب کرده اید. مثلاً به صورت زیر است:

Available applications:

APACHE

  APACHE Full

  APACHE SECURE

  CUPS

  OpenSSH

اگر دوست دارید اطلاعات و قوانین فایروال مربوط به یک برنامه خاص را مشاهده کنید، می توانید از دستور زیر استفاده کنید:

sudo ufw app info 'Apache'

Profile: Apache

Title: Web Server

Description: Apache V2 is the next generation f the omnipresent Apache web server

Ports:

  80/tcp

خروجی شامل نام پروفایل، عنوان، توضیحات و قوانین فایروال است.

دستورات پیکربندی UFW

دستورات پیکربندی ufw

در این بخش دستورات مهمی که ممکن است در طی پروسه راه اندازی و پیکربندی UFW در لینوکس لازم داشته باشید را بررسی می کنیم:

فعال سازی IPV6

UFW از IPv6 و IPv4 پشتیبانی می کند ولی به طور پیش فرض برای IPv4 کار می کند. برای همین، اگر سرور یا دسکتاپ شما با IPv6 پیکربندی شده است، باید IPv6 را در UFW هم فعال کنید تا مطمئن شوید که UFW علاوه بر IPv4، قوانین فایروال IPv6 را هم مدیریت خواهد کرد.

برای این کار اول باید با استفاده از ویرایشگر موردنظر خود فایل زیر را باز کنید:

sudo nano /etc/default/ufw

بعد به سمت پایین اسکرول کنید و بعد پیدا کردن IPV6، مطمئن شوید که مساوی با Yes است.

کلیک کنید  ۱۰ نمونه از بهترین برنامه های مدیریت پسورد برای امنیت بیشتر

IPV6=yes

بعد فایل را ذخیره کرده و از آن خارج شوید. اگر شما هم از ویرایشگر nano استفاده کردید، باید اول CTRL+X بعد Y و در آخر ENTER را فشار دهید تا عمل ذخیره سازی و خروج از فایل انجام شود.

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

sudo ufw reload

پذیرفتن اتصالات SSH

قبلاً هم به این نکته اشاره کردیم که بعد نصب و فعال سازی UFW، تمام اتصالات ورودی مسدود می شوند این یعنی نمی توانید از طریق SSH به صورت ریموت به سرور خود وصل شوید.

برای فعال سازی دسترسی اتصالات SSH به سرور خود، باید از دستور زیر استفاده کنید:

sudo ufw allow ssh

با توجه به این که ssh به طور پیش فرض به پورت 22 گوش می دهد، اگر پورت دیگری را برای SSH اختصاص داده اید، موقع فعال سازی اتصالات SSH باید شماره پورت آن را هم وارد کنید. مثلا اگر شماره پورت 2222 بود، دستور را به صورت زیر وارد کنید:

sudo ufw allow 2222

الان دیگر فایروال شما آماده پذیرش اتصالات ssh است و با فعال سازی مجدد فایروال، این قانون جدید را راه اندازی می کنید:

sudo ufw enable

فعال سازی یک پورت خاص

همچنین می توانید یک پورت خاص را باز کنید تا اتصال از طریق آن پورت به یک سرویس خاص انجام شود. مثلاً برای راه اندازی یک وب سرور که به طور پیش فرض به پورت 80 (HTTP) و 443 (HTTPS) گوش می دهد، می توانید به صورت زیر عمل کنید:

باز کردن پورت با اسم سرویس:

sudo ufw allow http

یا

sudo ufw allow https

باز کردن پورت با شماره پورت:

sudo ufw allow 80/tcp

یا

sudo ufw allow 443/tcp

اینکه کدام پورت یا سرویس برای پذیرش اتصالات ورودی باز باشد، به نیازهای شما بستگی دارد. بر اساس همین نیازها است که باید قوانین مناسبی را برای ارائه مجوز ورود اتصالات بنویسید.

فعال سازی بازه ای از پورت ها

با UFW می توانید بازه ای از پورت ها را باز کنید. مثلاً اگر برنامه ها یا سرویس هایی دارید که به جای یک پورت از چند پورت استفاده می کنند، این قانون می تواند برایتان بسیار مفید باشد.

مثلاً برای باز کردن پورت های موجود در بازه 6000-6010 می توانید از دستور زیر استفاده کنید:

sudo ufw allow 6000:6010/tcp

sudo ufw allow 6000: 6010/udp

وقتی باز ای از پورت ها را تعیین می کنید، حتماً باید پروتکلی (tcp یا udp) را مشخص کنید که قوانین باید روی آن اعمال شوند. اگر هم این کار را نکنید، به طور خودکار به هر دو پروتکل مجوز داده می شود و این کار در اکثر موارد خوب عمل می کند.

ارائه مجوز اتصال به آدرس IP خاص

اگر آدرس IP خاصی را مدنظر دارید و می خواهید مجوز اتصال به همه پورت ها را داشته باشد، می توانید از دستور زیر استفاده کنید:

sudo ufw allow from 63.50.62.60

همچنین، می توانید یک پورت خاص را برای اتصال آن آدرس لحاظ کنید. برای این کار باید از to any port استفاده کنید. مثلاً برای این که آدرس 63.50.62.60 به پورت SSH (22) دسترسی داشته باشد، باید از دستور زیر استفاده کنید:

sudo ufw allow from 63.50.62.60 to any port 22

ارائه مجوز دسترسی به یک زیرشبکه

اگر دوست دارید یک زیرشبکه از آدرس های IP به تمام پورت ها دسترسی داشته باشند، می توانید از دستور زیر استفاده کنید:

بازه زیر شبکه : از 192.168.1.1 تا 192.168.1.254

sudo ufw allow from 192.168.1.0/24

اگر هم پورت خاصی را در نظر دارید، باز هم باید آن را با to any port مشخص کنید:

sudo ufw allow from 192.168.1.0/24 to any port 22

دسترسی به یک رابط شبکه

اگر می خواهید قانون جدیدی ایجاد کنید که فقط برای یک رابط شبکه خاص اعمال شود، می توانید با استفاده از allow in on، اسم آن را در دستور موردنظر وارد کنید.

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

ip addr

به عنوان مثال، اگر دوست دارید ترافیک ssh به رابط شبکه eth0 دسترسی داشته باشد، دستور زیر را وارد کنید:

sudo ufw allow in on eth0 to any port 22

رد اتصالات در UFW

حالا دیگر قرار است به جای allow از deny استفاده کنید.

اگر دوست ندارید که زیر شبکه 23.24.25.0/24 به تمام پورت ها یا یک پورت خاص دسترسی پیدا کند، کافی است طبق دستور بالا عمل کنید و فقط به جای allow از deny استفاده کنید:

sudo ufw deny from 23.24.25.0/24

sudo ufw deny from 23.24.25.0/24 to any port 443

دستورات رد کردن اتصالات مشابه دستورات ارائه مجوز هستند منتها فقط باید deny را جایگزین allow کنید.

حذف قوانین فایروال

یادگیری نحوه حذف قوانین هم درست به اندازه ایجاد قوانین مهم است. در کل، برای حذف قوانین فایروال از دو روش می توانید استفاده کنید. 1. شماره قانون و 2. اسم قانون

حذف قانون با استفاده از شماره قانون راحت تر است مخصوصاً اگر با UFW در لینوکس زیاد آشنا نیستید.

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

sudo ufw status numbered

شماره قوانین فایروال

شماره قانون در داخل براکت قرار گرفته است. به عنوان مثال برای حذف قانون دسترسی به پورت 80، می توانید از دستور زیر استفاده کنید.

sudo ufw delete 2

تکمیل این پروسه نیاز به تایید شما دارد (y/n)، که برای ادامه دادن به آن باید y را وارد کنید.

روش دوم هم مشابه روش اول است، منتها با این تفاوت که باید اسم قانون را بدانید و به جای شماره قانون، اسم آن را وارد کنید. مثلاً برای حذف قانون allow http باید دستور را به صورت زیر بنویسید:

sudo ufw delete allow http

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

sudo ufw delete allow 80

اگر خواستید پروتکل را هم در این دستور حذفی لحاظ کنید، باید دستور را به صورت زیر تایپ کنید:

sudo ufw delete allow 80/tcp

نحوه ریست فایروال UFW در لینوکس

با استفاده از دستور زیر، تمام قوانین و تغییرات جدیدی که خودتان اعمال کرده اید را حذف می کنید و UFW به حالت پیش فرض خود برمی گردد.

sudo ufw reset

 

کلام آخر

اینکه بتوانید با استفاده از UFW یک فرانت اند عالی برای iptables داشته باشید، امتیاز بزرگی است. تعریف قانون های پیچیده با استفاده یک خط دستور UFW در لینوکس اوبونتو و دبیان باعث می شود که شرایط را تحت کنترل خود نگه دارید و در مواقع ضروری، به سرعت تغییرات جدید را اعمال کنید تا سرور یا سیستم شما از خطرات و حملات دور بماند.

از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.

سوالات متداول:

نخیر، اگر درک کاملی از قوانین پیچیده و نحوه پیاده سازی آنها بر اساس پروتکل ها دارید، می توانید اقدامات لازم را از طریق iptables هم انجام دهید. اما اگر دوست دارید قوانین فایروال پیچیده را راحت تر مدیریت کنید، بهتر است از UFW استفاده کنید.

مطالب مشابهی که شاید علاقمند باشید

من زهرا پیرجانی دانشجوی رشته نرم افزار هستم. علاقه ای که به یادگیری مطالب جدید دارم باعث شد که انگیزم برای فعالیت در حوزه تولیدمحتوا بیشتر شود. تمام تلاشم این است که با درک کامل موضوع، محتوایی ساده و کامل تهیه کنم که برای همه علاقمندان مفید و کاربردی باشد. یادگیری مطالب جدید و آموزش اونها به بقیه، بهترین کاری هست که می توانم برای رشد خودم و همچنین کمک به رشد علاقمندان به مباحث مورنظر انجام بدم.

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید