امیدواریم مطالب مورد پسند بوده و از آن بهره لازم را برده باشید. خوشحال میشویم نظرات و سوالات خود را در قسمت دیدگاه به اشتراک بگذارید و ما را در شتابان هاست همراهی کنید.
یک فایروال با کانفیگ مناسب یکی از مهمترین جنبه های امنیت کلی سیستم است. UFW یک جلوه ی کاربر پسند برای مدیریت قوانین فایروال iptables است. هدف اصلی آن آسانتر کردن مدیریت iptables یا همانطور که از نام آن مشخص است، ساده بودن است. در این مقاله با ما همراه باشید تا به شما عزیزان نحوه راه اندازی فایروال با UFW در Debian 10 را توضیح دهیم.
پیش نیارها:
فقط root یا کاربر با امتیازات sudo می تواند فایروال سیستم را مدیریت کند.
برای نصب بسته ufw دستور زیر را وارد کنید:
sudo apt update
sudo apt install ufw
UFW به طور پیش فرض غیرفعال است. با تایپ کردن دستور زیر می توانید وضعیت UFW را بررسی کنید:
sudo ufw status verbose
خروجی به شکل دستور زیر خواهد بود:
Status: inactive
به طور پیش فرض، UFW همه اتصالات ورودی را مسدود می کند و به همه اتصالات خروجی اجازه می دهد. این بدان معناست که هر کسی که سعی در دسترسی به سرور شما داشته باشد، نمی تواند متصل شود مگر اینکه به طور خاص پورت را باز کنید. برنامه ها و سرویس های در حال اجرا بر روی سرور قادر خواهند بود به دنیای خارج دسترسی داشته باشند. سیاستهای پیشفرض در فایل /etc/default/ufw تعریف شدهاند و با استفاده از دستور sudo ufw default <policy> <chain> قابل تغییر هستند. سیاست های فایروال پایه ای برای ایجاد قوانین پیچیده تر و تعریف شده توسط کاربر هستند. به طور کلی، سیاست های پیش فرض UFW نقطه شروع خوبی هستند.
اکثر برنامه ها با یک پروفایل برنامه ای که سرویس را توصیف می کند ارسال می شوند و شامل تنظیمات UFW هستند. پروفایل به طور خودکار در دایرکتوری نصب /etc/ufw/applications.d ایجاد می شود. با تایپ کردن با دستور زیر می توانید تمام پروفایل های برنامه موجود در سرور خود را لیست کنید:
sudo ufw utf --help
Available applications: DNS IMAP IMAPS OpenSSH POP3 POP3S Postfix Postfix SMTPS Postfix Submission ...
برای یافتن اطلاعات بیشتر در مورد یک پروفایل خاص و قوانین شامل، از دستور app info و به دنبال آن نام پروفایل استفاده کنید. به عنوان مثال برای به دست آوردن اطلاعاتی درباره مشخصات OpenSSH که استفاده می کنید، از دستور زیر استفاده کنید:
sudo ufw app info OpenSSH
Profile: OpenSSH Title: Secure shell server, an rshd replacement Description: OpenSSH is a free implementation of the Secure Shell protocol. Port: ۲۲/tcp
خروجی شامل نام پروفایل، عنوان، توضیحات و قوانین فایروال است.
قبل از فعال کردن فایروال UFW، ابتدا باید اتصالات SSH ورودی را مجاز کنید. اگر به صورت ریموت به سرور خود متصل می شوید، اگر اجازه اتصال به SSH ورودی را ندهید، دیگر قادر به اتصال به سرور Debian خود نخواهید بود. برای کانفیگ فایروال UFW خود برای پذیرش اتصالات SSH، دستور زیر را اجرا کنید:
sudo ufw allow OpenSSH
Rules updated Rules updated (v6)
sudo ufw allow 7722/tcp
اکنون که فایروال UFW کانفیگ شده است و به اتصالات SSH ورودی اجازه می دهد، آن را با اجرای دستور زیر فعال کنید:
sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
به شما هشدار داده می شود که فعال کردن فایروال ممکن است اتصالات موجود در ssh را مختل کند. “y” را تایپ کرده و “Enter” را فشار دهید.
اتصالات HTTP را مجاز کنید:
sudo ufw allow http
به جای پروفایل http، می توانید از شماره پورت ۸۰ استفاده کنید:
sudo ufw allow 80/tcp
اتصالات HTTPS را مجاز کنید:
sudo ufw allow https
همچنین می توانید از شماره پورت ۴۴۳ استفاده کنید:
sudo ufw allow 443/tcp
اگر از Tomcat یا هر برنامه دیگری را که از پورت ۸۰۸۰ استفاده میکند، استفاده میکنید باید پورت را باز کنید:
sudo ufw allow 8080/tcp
با استفاده از UFW، همچنین می توانید به محدوده پورت دسترسی داشته باشید. هنگام باز کردن دامنه، باید پروتکل پورت را مشخص کنید. به عنوان مثال، برای اجازه دادن پورت های ۷۱۰۰ تا ۷۲۰۰ در دو پروتکل tcp و udp، دستور زیر را اجرا کنید:
sudo ufw allow 7100:7200/tcp
sudo ufw allow 7100:7200/udp
برای اجازه دسترسی به تمام پورت ها از یک آدرس IP خاص، از دستور ufw allow from و سپس آن آدرس IP استفاده کنید:
sudo ufw allow from 64.63.62.61
sudo ufw allow from 64.63.62.61 to any port 22
sudo ufw allow from 192.168.1.0/24 to any port 3306
برای اجازه دسترسی به یک پورت خاص، مثلاً پورت ۳۳۶۰ فقط به کارت شبکه eth2، از allow in on و نام کارت شبکه استفاده کنید:
sudo ufw allow in on eth2 to any port 3306
sudo ufw deny from 23.24.25.0/24
اگر فقط می خواهید دسترسی به پورت های ۸۰ و ۴۴۳ را از ۲۳٫۲۴٫۲۵٫۰/۲۴ رد کنید، از دستور زیر استفاده کنید:
sudo ufw deny from 23.24.25.0/24 to any port 80
sudo ufw deny from 23.24.25.0/24 to any port 443
دو روش مختلف برای حذف قوانین UFW وجود دارد. یکی با شماره قانون و دیگری با مشخص کردن قانون واقعی است. حذف قوانین UFW با شماره قانون ساده تر است، به خصوص اگر در UFW تازه کار هستید. برای حذف یک قانون با شماره آن، ابتدا باید شماره قانونی را که می خواهید حذف کنید پیدا کنید. برای انجام این کار، دستور زیر را اجرا کنید:
sudo ufw status numbered
Status: active To Action From -- ------ ---- [ ۱] ۲۲/tcp ALLOW IN Anywhere [ ۲] ۸۰/tcp ALLOW IN Anywhere [ ۳] ۸۰۸۰/tcp ALLOW IN Anywhere
برای حذف قانون شماره ۳، قانونی که اجازه اتصال به پورت ۸۰۸۰ را می دهد، می توانید از دستور زیر استفاده کنید:
sudo ufw delete 3
روش دوم حذف یک قانون با مشخص کردن قانون واقعی است. به عنوان مثال ، اگر برای باز کردن پورت ۸۰۶۹ قانونی اضافه کرده اید، می توانید آن را با دستورات زیر حذف کنید:
sudo ufw delete allow 8069
sudo ufw disable
sudo ufw enable
تنظیم مجدد UFW ،UFW را غیرفعال می کند و کلیه قوانین فعال را حذف می کند. اگر می خواهید همه تغییرات خود را برگردانید و دوباره شروع کنید ، این کار مفید است. برای بازنشانی UFW کافیست دستور زیر را تایپ کنید:
sudo ufw reset
شما یاد گرفته اید که چگونه فایروال UFW را روی دستگاه Debian 10 خود نصب و کانفیگ کنید. اطمینان حاصل کنید که به تمام اتصالات ورودی که برای عملکرد صحیح سیستم شما ضروری هستند اجازه دهید و در عین حال تمام اتصالات غیر ضروری را محدود کنید