استفاده از gufw و ufw برای پیکربندی فایروال اوبونتو
در دروس قبل به پورتها و خدمات در سیستم اوبونتو پرداختیم. ما همچنین به طور خلاصه به قوانین فایروال iptables در اوبونتو از جمله ایجاد چند قانون بسیار ساده از خط فرمان پرداختیم. در این درس به یک رویکرد کاربر پسندتر برای پیکربندی iptables با استفاده از دو ابزار gufw و ufw میرسیم. همانطور که خواهیم دید، gufw و ufw سطح بالایی از کنترل را بر ترافیک و اتصالات شبکه ورودی و خروجی بدون نیاز به درک سینتکس سطح پایینتر iptables ارائه میدهند.
مروری بر gufw و ufw
همراه اوبونتو بستهای به نام ufw است که سرنام Uncomplicated Firewall است. این بسته یک رابط خط فرمان برای مدیریت و پیکربندی قوانین فایروال مبتنی بر iptables Netfilter ارائه میدهد. ابزار gufw یک رابط گرافیکی کاربرپسند برای ufw فراهم میکند که مدیریت فایروال را بدون نیاز به صدور فرمانهای ufw در خط فرمان ممکن میسازد.
نصب gufw در اوبونتو
در حالی که ufw به طور پیشفرض بر روی اوبونتو نصب شده است، بسته gufw اینگونه نیست. بنابراین برای نصب gufw، یک پنجره ترمینال (Ctrl-Alt-T) را باز کنید و 6فرمان زیر را در اعلان حاصل وارد کنید:
# apt install gufw
اجرا و فعالسازی gufw
پس از نصب، gufw را با فشار دادن Alt-F2 در دسکتاپ گنوم و وارد کردن gufw در کادر متنی دستور Run راه اندازی کنید. همانطور که در تصویر نشان داده شده است، هنگامی که برای اولین بار فراخوانی میشود، احتمالا فایروال غیرفعال میشود.
برای فعال کردن فایروال، سوئیچ وضعیت (A) را به موقعیت روشن ببرید. بهطور پیشفرض، پانل اصلی (D) صفحه اصلی gufw را نشان میدهد که حاوی اطلاعات اولیه درباره ابزار است. انتخاب گزینهها از ردیف دکمهها (C) اطلاعات نمایش داده شده در پنل را تغییر میدهد. برای مثال، دکمه Rules را برای افزودن، حذف و مشاهده قوانین انتخاب کنید.
ابزار gufw با مجموعه کوچکی از پروفایلهای از پیش تنظیم شده برای محل کار، خانه و محیط های عمومی ارائه شده است. برای تغییر پروفایل و مشاهده تنظیمات کافیست از منوی (B) Profile را انتخاب کنید. برای تغییر پروفایل موجود، آن را از منو انتخاب کنید و از منوهای Incoming و Outgoing برای تغییر انتخابها استفاده نمایید. برای پیکربندی قوانین خاص، صفحه Rules را نمایش دهید و قوانین را در صورت نیاز اضافه، حذف و اصلاح کنید. سپس این موارد در پروفایل انتخابی فعلی اعمال میشود.
پروفایل انتخاب شده در حال حاضر دیکته میکند که چگونه فایروال در غیاب قوانین خط مشی خاصی، ترافیک را مدیریت کند. به عنوان مثال، پروفایل Home به طور پیشفرض به گونهای پیکربندی شده است که تمام ترافیک ورودی را رد کند و به همه ترافیک خروجی اجازه دهد. این تنظیمات خط مشی پیشفرض با استفاده از منوهای Incoming: و Outgoing: (E) تغییر میکنند.
استثناهای خط مشی پیشفرض از طریق ایجاد قوانین اضافی تعریف میشوند. برای مثال، با پروفایل Home که ترافیک ورودی را رد میکند، باید قوانینی اضافه شود تا انواع خاصی از اتصالات ورودی قابل قبول را فعال کند. از چنین قوانینی در جامعه امنیتی به عنوان لیست سفید یاد میشود.
از طرف دیگر، اگر خط مشی ورودی به Allow all traffic تغییر داده شود، تمام ترافیک ورودی مجاز خواهد بود مگر اینکه قوانینی برای انواع خاصی از اتصالات ایجاد شده باشد که باید مسدود شوند. این قوانین، بدون تعجب، به عنوان یک لیست سیاه نامیده میشوند. رویکرد لیست سیاه/لیست سفید به طور یکسان برای اتصالات ورودی و خروجی اعمال میشود.
ایجاد پروفایل جدید
در حالی که امکان تغییر پروفایلهای از پیش تعریف شده وجود دارد، معمولا ایجاد یک یا چند پروفایل برای پیکربندی فایروال برای نیازهای خاص شما منطقی تر خواهد بود. پروفایلهای جدید با انتخاب Edit -> Preferences… ایجاد می شوند تا پنجره نشان داده شده تصویر زیر نمایش داده شود:
برای افزودن یک پروفایل جدید، روی دکمه «+» واقع در زیر لیست پروفایلها کلیک کنید. پروفایل جدیدی به نام Profile 1 در لیست ظاهر میشود. برای دادن نام توصیفیتر به پروفایل، روی ورودی دوبار کلیک کنید تا وارد حالت ویرایش شوید و نام جدیدی وارد کنید:
پس از ایجاد و نامگذاری پروفایل، روی دکمه Close کلیک کنید تا به صفحه اصلی بازگردید و آن را از منوی Profile انتخاب کنید:
افزودن قوانین فایروال از پیش تنظیم شده
قوانین جدید با کلیک بر روی دکمه Rules و سپس دکمه + واقع در پایین پانل قوانین همانطور که در تصویر مشخص شده است ایجاد میشود:
پس از انتخاب، پنجره نشان داده شده در تصویر با انتخاب زبانه Preconfigured ظاهر میشود.
پانل Preconfigured اجازه میدهد تا قوانینی انتخاب شوند که با برنامهها و خدمات خاص مطابقت داشته باشند. برای مثال، ترافیک ابزارهایی مانند Skype و BitTorrent را میتوان با انتخاب ورودی از منوی برنامه و منوهای Policy و Direction برای محدود کردن یا مجاز کردن ترافیک، فعال کرد.
برای کمک به یافتن یک برنامه یا سرویس خاص، از منوهای Category و Subcategory برای فیلتر کردن مواردی که در منوی برنامه ظاهر میشوند استفاده کنید. همچنین، به سادگی نام برنامه یا سرویس را در قسمت Application Filter وارد کنید تا آیتمهای منو فیلتر شوند:
منوی Policy گزینههای زیر را برای کنترل ترافیک برنامه یا سرویس انتخابی ارائه میدهد:
- Allow: تردد در پورت مجاز است.
- Deny: تردد در پورت ممنوع است. سیستم درخواست کننده از رد اطلاع داده نمیشود. بسته داده به سادگی حذف میشود.
- Reject: تردد در پورت ممنوع است. بسته داده حذف میشود و سیستم درخواست کننده از رد آن مطلع میشود.
- Limit: اگر همان آدرس IP تلاش کرده باشد 6 یا بیشتر در یک بازه زمانی 30 ثانیه برقرار کند، اتصالات رد میشوند.
هنگامی که یک قانون تعریف شد، با کلیک بر روی دکمه Add، قانون اجرا میشود، کادر گفتگوی Add Rule حذف میشود و قانون جدید در صفحه اصلی ابزار gufw (با قوانین برای پروتکلهای IPv4 و IPv6) فهرست میشود:
برای حذف یک قانون، آن را در لیست انتخاب کنید و روی دکمه “-” واقع در پایین پنجره کلیک کنید. به طور مشابه، با انتخاب آن و کلیک بر روی دکمه چرخدنده در سمت راست دکمه “-“، قوانین موجود را ویرایش کنید.
افزودن قوانین پیشرفته
تاکنون قوانینی را برای کنترل تنها نوع ترافیکی که باید مسدود شود (به عنوان مثال ترافیک ورودی در پورت 22) بدون توجه به منبع یا مقصد ترافیک بررسی کردهایم. با این حال، اغلب اوقات لازم است قوانینی برای اجازه یا رد ترافیک بر اساس یک آدرس IP یا محدودهای از آدرسهای IP تعریف شوند.
برای اهداف یک مثال، فرض کنید که سیستم محلی دارای آدرس آیپی 192.168.0.102 است. فایروال ممکن است طوری پیکربندی شود که فقط اجازه دسترسی به پورت 22 را از سیستمی با آدرس IP مثلا 192.168.0.105 بدهد. برای دستیابی به این هدف، قسمت From: پانل Advanced پیشرفته باید روی آدرس IP سیستمی که درخواست اتصال از آن منشا میگیرد تنظیم شود (در این مورد 192.168.0.105).
فیلدهای To: گزینه ای را برای تعیین آدرس IP و پورت سیستمی که اتصال به آن برقرار میشود ارائه میدهد. در این مثال، این پورت 22 در سیستم محلی (192.168.0.102) خواهد بود. آدرس آیپی To: در واقع اختیاری است و ممکن است خالی بماند:
با فرض اینکه سیاست پیشفرض ورودی همچنان روی Deny یا Reject در صفحه اصلی تنظیم شده است، قانون فوق به SSH از طریق پورت 22 به سیستم لوکال فقط از سیستم راه دور با آدرس آیپی 92.168.0.105 دسترسی خواهد داشت. تلاشهای دسترسی SSH از سیستمهایی با آدرسهای IP دیگر با شکست مواجه خواهند شد. توجه داشته باشید که اگر سیستم مورد نظر سیستم لوکال باشد، قسمت آدرس آیپی To: ممکن است خالی بماند. فیلد Insert در پنجره فوق اجازه میدهد تا قانون جدید در مکان مشخص شده در لیست قوانین موجود درج شود، بنابراین به شما امکان میدهد ترتیب اعمال قوانین را در فایروال کنترل کنید.
همچنین با استفاده از bitmask آدرس IP میتوان محدودهای از آدرسها را مشخص کرد. به عنوان مثال، برای ایجاد یک قانون برای محدودهای از آدرسهای IP از 192.168.0.1 تا 192.168.0.255، آدرس IP باید در قسمت From: به عنوان 192.168.0.0/24 وارد شود.
به طور مشابه، برای تعیین قاعدهای که محدوده آدرس آیپی 192.168.0.1 تا 192.168.0.30 را پوشش میدهد، از bitmask 27 استفاده میشود، یعنی 192.168.0.0/27.
یک ماشین حساب مفید برای شناسایی محدوده آدرس تحت پوشش هر مقدار bitmask به صورت آنلاین در http://subnet-calculator.com موجود است.
پیکربندی فایروال از خط فرمان با استفاده از ufw
تمام گزینههای پیکربندی فایروال که از طریق ابزار گرافیکی gufw در دسترس هستند نیز از طریق خط فرمان زیرین با استفاده از فرمان ufw در دسترس هستند. برای فعال یا غیرفعال کردن فایروال:
# ufw enable # ufw disable
وضعیت فعلی فایروال را میتوان با استفاده از گزینه status بدست آورد:
# ufw status Status: active To Action From -- ------ ---- 22 ALLOW 192.168.86.30
برای اطلاعات بیشتر وضعیت، فرمان بالا را با گزینه verbose ترکیب کنید:
# ufw status verbose Status: active Logging: on (full) Default: deny (incoming), allow (outgoing), deny (routed) New profiles: skip To Action From -- ------ ---- 22 ALLOW IN 192.168.86.30
خروجی در مثال بالا نشان میدهد که سیاست پیشفرض فایروال این است که تمام اتصالات ورودی و مسیریابی را رد کند و در عین حال همه اتصالات خروجی را مجاز کند. برای تغییر هر یک از این تنظیمات پیشفرض، از فرمان ufw با گزینه پیشفرض با استفاده از سینتکس زیر استفاده کنید:
# ufw default <policy> <direction>
به عنوان مثال، برای فعال کردن تمام اتصالات ورودی به طور پیشفرض:
# ufw default allow incoming
برای مجاز کردن یا مسدود کردن ترافیک در یک پورت خاص از فرمان زیر استفاده کنید:
# ufw <policy> <port number>/<optional protocol>
به عنوان مثال، برای اجازه دادن به ترافیک ورودی TCP و UDP در پورت 30:
# ufw allow 30
به طور مشابه، برای رد ترافیک TCP ورودی در پورت 5700:
# ufw deny 5700/tcp
قوانین همچنین ممکن است با ارجاع به نام سرویس مربوط به پورت اعلام شوند. به عنوان مثال برای فعال کردن دسترسی SSH در پورت 22:
# ufw allow ssh
همانند ابزار gufw، ufw همچنین اجازه میدهد تا دسترسی از آدرسهای IP خارجی خاص کنترل شود. به عنوان مثال، برای اجازه دادن به تمام ترافیک ورودی از آدرس آیپی 192.168.0.20:
# ufw allow from 192.168.0.20
برای رد کردن ترافیک از یک آدرس IP:
# ufw deny 192.168.0.20
برای محدود کردن دسترسی به آدرس آیپی 192.168.0.20 فقط به پورت 22:
# ufw allow from 192.168.0.22 to any port 22
برای محدود کردن بیشتر دسترسی به آدرس IP فقط به بستههای TCP، از فرمان زیر استفاده کنید:
# ufw allow from 192.168.0.20 to any port 22 proto tcp
موقعیت یک قانون جدید در لیست قوانین موجود ممکن است با استفاده از گزینه درج اعلام شود. به عنوان مثال برای ایجاد یک قانون جدید و درج آن در موقعیت 3 در لیست قوانین:
# ufw insert 3 allow from 192.168.0.123 to any port 2
برای نمایش لیست قوانین با اعداد مرتبط:
# ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22 ALLOW IN 192.168.86.30
[ 2] 30 ALLOW IN Anywhere
[ 3] 22 ALLOW IN 192.168.0.123
[ 4] 5700/tcp DENY IN Anywhere
[ 5] 22/tcp ALLOW IN Anywhere
[ 6] Anywhere ALLOW IN 192.168.0.20
[ 7] 22 ALLOW IN 192.168.0.4
[ 8] 30 (v6) ALLOW IN Anywhere (v6)
[ 9] 5700/tcp (v6) DENY IN Anywhere (v6)
[10] 22/tcp (v6) ALLOW IN Anywhere (v6)
پس از شناسایی شماره اختصاص داده شده به یک قانون، میتوان از آن شماره برای حذف قانون از فایروال استفاده کرد:
# ufw delete 4
برای به دست آوردن لیست کاملی از قابلیتهای ابزار ufw دستور را با آرگومان –help اجرا کنید:
# ufw help
ثبت فعالیت فایروال را میتوان با استفاده از گزینه خط فرمان logging به سیستم فعال و غیرفعال کرد:
# ufw logging on # ufw logging off
میزان ثبت گزارش انجام شده توسط ufw ممکن است در هنگام روشن کردن ورود به سیستم شامل تنظیمات کم، متوسط، زیاد یا کامل نیز اعلام شود، به عنوان مثال:
# ufw logging on low
فایل لاگ ufw را میتوانید در آدرس زیر پیدا کنید:
/var/log/ufw.log
از گزینه reload برای راه اندازی مجدد فایروال و بارگیری مجدد تمام تنظیمات فعلی استفاده کنید:
# ufw reload
در نهایت، برای بازنشانی فایروال به تنظیمات پیشفرض (در نتیجه حذف تمام قوانین و تنظیمات موجود):
# ufw reset
خلاصه
هر سیستم رایانهای که به سیستمهای دیگر متصل است، چه از طریق یک شبکه داخلی یا از طریق اتصال به اینترنت، باید نوعی از فایروال را برای کاهش خطر حمله پیادهسازی کند. فایروال کامپایل نشده ارائه شده با اوبونتو یک فایروال ساده و در عین حال کارآمد را ارائه میدهد که اجازه میدهد قوانین اساسی با استفاده از خط فرمان یا ابزار گرافیکی gufw تعریف شوند. این درس اصول فعال کردن فایروال و پیکربندی قوانین فایروال را تشریح کرده است.
منبع: answertopia.comدرباره فرشید نوتاش حقیقت
همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرمافزارهای آزاد/ متنباز و سیستمعامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.
نوشتههای بیشتر از فرشید نوتاش حقیقتاین سایت از اکیسمت برای کاهش جفنگ استفاده میکند. درباره چگونگی پردازش دادههای دیدگاه خود بیشتر بدانید.








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