Ubuntu 20.04

چگونه می توان فایروال را با UFW در اوبونتو 20.04 تنظیم کرد

UFW ، یا فایروال ساده (غیر پیچیده) ، یک رابط مدیریت ساده فایروال است که پیچیدگی فن آوری های فیلترینگ سطح پایین تر مانند iptables و nftables را پنهان می کند. اگر به دنبال شروع به کار در تأمین امنیت شبکه خود هستید و مطمئن نیستید از کدام ابزار استفاده کنید ، UFW میتواند انتخاب مناسبی برای شما باشد.
در این آموزش نحوه تنظیم فایروال با UFW در اوبونتو 20.04 به شما نشان داده خواهد شد.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
• یک سرور مجازی Ubuntu 20.04 با یک کاربر sudo غیر ریشه ، که می توانید با دنبال کردن ستاپ اولیه سرور مجازی با آموزش اوبونتو 20.04 آن را تنظیم کنید.
UFW به طور پیش فرض در اوبونتو نصب شده است. اگر به دلایلی نصب نشده ، می توانید آن را با sudo apt install ufw نصب کنید.
مرحله 1 – استفاده از IPv6 با UFW (اختیاری)
این آموزش با در نظرگیری IPv4 نوشته شده است ، اما وقتی آن را فعال کنید ، برای IPv6 نیز کار خواهد کرد. اگر سرور مجازی Ubuntu شما IPv6 را فعال کرده است ، اطمینان حاصل کنید که UFW برای پشتیبانی از IPv6 تنظیم شده باشد تا بتواند علاوه بر IPv4 ، قوانین فایروال را برای IPv6 نیز مدیریت کند. برای انجام این کار ، پیکربندی UFW را با nano یا ویرایشگر مورد علاقه خود باز کنید.
$ sudo nano /etc/default/ufw

سپس مطمئن شوید که مقدار IPV6 بله است. می بایست شبیه به این باشد:
/etc/default/ufw excerpt
IPV6=yes

فایل را ذخیره کنید و ببندید. حال ، هنگامی که UFW فعال است ، به گونه ای تنظیم می شود که قوانین IPv4 و IPv6 را بنویسید. با این حال ، قبل از فعال کردن UFW ، می خواهیم اطمینان حاصل کنیم که فایروال شما پیکربندی شده است تا به شما امکان اتصال از طریق SSH را بدهد. بیایید با تنظیم رویکرد پیش فرض شروع کنیم.
مرحله 2 – تنظیم رویکرد های پیش فرض
اگر به تازگی کار با فایروال را شروع کرده اید ، اولین قوانینی که باید تعریف کنید رویکرد پیش فرض شما هستند. این قوانین نحوه کنترل ترافیک را که صریحاً با سایر قوانین مطابقت ندارد ، کنترل می کنند. به طور پیش فرض ، UFW قرار است تمام اتصالات ورودی را رد کند و به همه اتصالات خروجی اجازه دهد. این بدان معناست که هرکسی که سعی در دستیابی به سرور مجازی شما داشته باشد قادر به اتصال نخواهد بود ، در حالی که هر برنامه ای در سرور مجازی قادر به دستیابی به دنیای خارج خواهد بود.
بیایید قوانین UFW را به صورت پیش فرض تنظیم کنیم ، بنابراین می توانیم اطمینان حاصل کنیم که شما قادر خواهید بود این آموزش را دنبال کنید. برای تنظیم پیش فرض های استفاده شده توسط UFW ، از این دستورات استفاده کنید:
$ sudo ufw default deny incoming

$ sudo ufw default allow outgoing

این دستورات پیش فرض ها را برای رد ورودی و اجازه دسترسی به اتصالات تنظیم می کنند. این پیش فرض های فایروال به تنهایی ممکن است برای یک رایانه شخصی کافی باشد ، اما به طور معمول سرور مجازی ها باید به درخواست های دریافتی از کاربران خارجی پاسخ دهند. در ادامه به آن خواهیم پرداخت.
مرحله 3 – اجازه اتصال به SSH
اگر اکنون فایروال UFW خود را فعال کنیم ، تمام اتصالات ورودی را رد می کند. این بدان معناست که باید قوانینی را ایجاد کنیم که صریحاً اجازه ورود به اتصالات ورودی قانونی را بدهد – برای مثال اتصالات SSH یا HTTP- اگر میخواهیم سرور مجازی ما به آن نوع درخواستها پاسخ دهد. اگر از سرور مجازی ابری استفاده می کنید ، احتمالاً باید به اتصالات SSH ورودی اجازه دهید تا بتوانید به سرور مجازی خود متصل شوید و مدیریت کنید.
برای پیکربندی سرور مجازی خود جهت اجازه دادن به اتصالات SSH ، می توانید از این دستور استفاده کنید:
$ sudo ufw allow ssh

با این کار قوانین فایروال ایجاد می شود که به کلیه اتصالات در پورت 22 اجازه می دهد ، یعنی پورتی که Daemon SSH بطور پیش فرض در آن گوش می دهد. UFW می داند که پورت allow ssh به چه معنی است زیرا به عنوان یک سرویس در فایل / etc / service لیست شده است.
با این وجود ، ما در واقع می توانیم با مشخص کردن پورت به جای نام سرویس ، قانون معادل آن را بنویسیم. به عنوان مثال ، این دستور مانند دستور فوق کار می کند:
$ sudo ufw allow 22

اگر Daemon SSH خود را برای استفاده از پورت دیگری پیکربندی کرده اید ، باید پورت مناسب را مشخص کنید. به عنوان مثال ، اگر سرور مجازی SSH شما پورت 2222 را گوش می دهد ، می توانید از این دستور برای اتصال در آن پورت استفاده کنید:
$ sudo ufw allow 2222

اکنون که فایروال شما پیکربندی شده است تا امکان اتصال SSH ورودی را فراهم کند ، می توانیم آن را فعال کنیم.
مرحله 4 – فعال کردن UFW
برای فعال کردن UFW ، از این دستور استفاده کنید:
$ sudo ufw enable

هشداری دریافت خواهید کرد که می گوید ممکن است این فرمان اتصالات SSH موجود را مختل کند. ما قبلاً یک قانون فایروال تنظیم کرده ایم که اتصالات SSH را امکان پذیر می سازد ، بنابراین میتوان ادامه داد. در پاسخ به اعلان y را وارد کنید و ENTER را بزنید.
فایروال اکنون فعال است. برای مشاهده قوانینی که تنظیم شده است ، دستور verbose status sudo ufw را اجرا کنید. بقیه این آموزش نحوه استفاده از UFW را با جزئیات بیشتر ، مانند قبول یا رد انواع مختلف اتصالات را ارائه می دهد.
مرحله 5 – اجازه برقراری سایر اتصالات
در این مرحله ، شما باید به سایر اتصالات مورد نیاز سرور مجازی خود برای پاسخگویی اجازه دهید. اتصالاتی که شما باید به آنها اجازه دهید بستگی به نیازهای خاص شما دارد. خوشبختانه ، شما می دانید چگونه می توانید قوانینی را بنویسید که به اتصالات مبتنی بر نام سرویس یا پورت اجازه می دهد. ما قبلاً این کار را برای SSH در پورت 22 انجام دادیم.
HTTP در پورت 80 ، همان چیزی که سرور مجازی های وب رمز گذاری نشده از آن استفاده می کنند ، از sudo ufw allow http  یا sudo ufw allow 80 استفاده مینماید.
HTTPS در پورت 443 ، همان چیزی که سرور مجازی های رمزگذاری شده از آن استفاده می کنند ، از sudo ufw allow https  یا sudo ufw allow 443 استفاده مینماید.
به غیر از مشخص کردن پورت یا سرویس شناخته شده ، راه های دیگری برای اجازه سایر اتصالات وجود دارد.
محدوده های خاص پورت
شما می توانید محدوده پورت را با UFW مشخص کنید. برخی از برنامه ها به جای یک پورت واحد از پورت های مختلف استفاده می کنند.
به عنوان مثال ، برای اجازه دادن به اتصالات X11، که از پورت های 6000-6007 استفاده می کنند ، از این دستورات استفاده کنید:
$ sudo ufw allow 6000:6007/tcp

$ sudo ufw allow 6000:6007/udp

هنگام مشخص کردن محدوده پورت با UFW ، باید پروتکل (tcp یا udp) را مشخص کنید که قوانین باید روی آن اعمال شود. ما قبلاً به این موضوع اشاره نکرده ایم زیرا مشخص نکردن پروتکل، به طور خودکار به هر دو پروتکل اجازه می دهد ، که در اکثر موارد مطلوب است.
آدرس های IP خاص
هنگام کار با UFW ، می توانید آدرس IP را نیز مشخص کنید. به عنوان مثال ، اگر می خواهید از یک آدرس IP خاص مانند آدرس IP محل کار یا خانه 203.0.113.4 به اتصالات اجازه دهید ، باید from و سپس آدرس IP را مشخص کنید:
$ sudo ufw allow from 203.0.113.4

همچنین می توانید با افزودن to any port به اضافه شماره پورت ، پورت خاصی را تعیین کنید که آدرس IP مجاز به اتصال به آن باشد. به عنوان مثال ، اگر می خواهید 203.0.113.4 به پورت 22 (SSH) وصل شود ، از این دستور استفاده کنید:
$ sudo ufw allow from 203.0.113.4 to any port 22

زیرشبکه ها
اگر می خواهید به یک زیر شبکه از آدرس های IP اجازه دهید ، می توانید با استفاده از نماد CIDR این کار را برای مشخص کردن یک netmask انجام دهید. به عنوان مثال ، اگر می خواهید تمام آدرسهای IP از 203.0.113.1 تا 203.0.113.254 را مجاز کنید ، می توانید از این دستور استفاده کنید:
$ sudo ufw allow from 203.0.113.0/24

به همین ترتیب ، همچنین می توانید پورت مقصد را تعیین کنید که زیر شبکه 203.0.113.0/24 به آن وصل شود. باز هم ، ما از پورت 22 (SSH) به عنوان نمونه استفاده خواهیم کرد:
$ sudo ufw allow from 203.0.113.0/24 to any port 22

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

Output Excerpt
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state
. . .
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
. . .

خروجی هایلایت شده نشانگر نام های رابط شبکه است. معمولاً چیزی مانند eth0 یا enp3s2 نامگذاری میشوند.
بنابراین ، اگر سرور مجازی شما یک رابط شبکه عمومی به نام eth0 دارد ، می توانید با این دستور ترافیک HTTP (پورت 80) را به آن مجاز کنید:
$ sudo ufw allow in on eth0 to any port 80

این کار به سرور مجازی شما امکان می دهد درخواستهای HTTP را از طریق اینترنت عمومی دریافت کند.
یا اگر می خواهید به عنوان مثال سرور مجازی پایگاه داده MySQL (پورت 3306) شما را به اتصالات رابط شبکه خصوصی eth1 گوش دهد ، می توانید از این دستور استفاده کنید:
$ sudo ufw allow in on eth1 to any port 3306

این دستور به سرور مجازی های دیگر در شبکه خصوصی شما اجازه می دهد تا به پایگاه داده MySQL متصل شوند.
مرحله 6 – رد اتصالات
اگر رویکرد پیش فرض اتصالات ورودی را تغییر نداده اید ، UFW به گونه ای پیکربندی میشود تا تمام اتصالات ورودی را رد کند. به طور کلی ، این کار با ملزم کردن شما به ایجاد قوانینی که صریحاً اجازه ورود به پورت های خاص و آدرس های IP را میدهند ، فرایند ایجاد یک فایروال ایمن را ساده تر می کند.
با این وجود ، گاهی اوقات می خواهید اتصالات خاص را بر اساس آدرس IP منبع یا زیر شبکه رد کنید ، شاید به این دلیل که می دانید که سرور مجازی شما از آنجا مورد حمله قرار می گیرد. همچنین ، اگر می خواهید رویکرد ورودی پیش فرض خود را به allow تغییر دهید (که توصیه نمی شود) ، لازم است برای هرگونه خدمات یا آدرسهای IP که نمی خواهید مجوزهای اتصال را ایجاد کنید ، قوانین deny را ایجاد کنید.
برای نوشتن قوانین deny (رد)، می توانید از دستوراتی که در بالا توضیح داده شده استفاده کنید ، و allow را با deny جایگزین کنید.
به عنوان مثال ، برای رد اتصالات HTTP ، می توانید از این دستور استفاده کنید:
$ sudo ufw deny http

یا اگر می خواهید تمام اتصالات را از 203.0.113.4 رد کنید ، می توانید از این دستور استفاده کنید:
$ sudo ufw deny from 203.0.113.4

حال اجازه دهید نگاهی به نحوه حذف قوانین بیندازیم.
مرحله 7 – حذف قوانین
دانستن چگونگی حذف قوانین فایروال به همان اندازه مهم است که بدانید چگونه می توانید آنها را ایجاد کنید. دو روش مختلف برای تعیین اینکه کدام قوانین باید حذف شوند وجود دارد: با شماره قانون یا با قانون واقعی (شبیه به نحوه تعیین قوانین هنگام ایجاد ان ها). ما با روش حذف با شماره قانون شروع خواهیم کرد زیرا ساده تر است.
به واسطه شماره قانون
اگر از شماره قانون برای حذف قوانین فایروال استفاده می کنید ، اولین کاری که باید انجام دهید این است که لیستی از قوانین فایروال خود را تهیه کنید. فرمان وضعیت UFW گزینه ای برای نمایش شماره ها در کنار هر قانون دارد ، همانطور که در اینجا نشان داده شده است:
$ sudo ufw status numbered

Numbered Output:
Status: active

To Action From
— —— —-
[ 1] 22 ALLOW IN 15.15.15.0/24
[ 2] 80 ALLOW IN Anywhere

اگر تصمیم بگیریم که می خواهیم قانون 2 را حذف کنیم ، یکی از مواردی که امکان اتصال به پورت 80 (HTTP) را فراهم می کند ، می توانیم آن را در یک فرمان حذف UFW مانند این مشخص کنیم:
$ sudo ufw delete 2

یک تأیید اعلان را نشان میدهد و سپس قانون 2 را، که به اتصالات HTTP اجازه می دهد، حذف میکند. توجه داشته باشید که اگر IPv6 را فعال کرده اید ، باید قانون IPv6 مربوطه را نیز حذف کنید.
به واسطه قانون واقعی
گزینه جایگزین برای شماره ها ، تعیین قانون واقعی برای حذف است. به عنوان مثال ، اگر می خواهید قانون http را حذف کنید ، می توانید آن را به صورت زیر بنویسید:
$ sudo ufw delete allow http

همچنین می توانید به جای نام سرویس ، قانون را با allow 80 مشخص کنید:
$ sudo ufw delete allow 80

این روش، در صورت وجود، هر دو قانون IPv4 و IPv6 را حذف می کند.
مرحله 8 – بررسی وضعیت و قوانین UFW
در هر زمان ، می توانید وضعیت UFW را با این دستور بررسی کنید:
$ sudo ufw status verbose

اگر UFW غیرفعال باشد ، که به طور پیش فرض چنین است ، خروجی زیر را مشاهده خواهید کرد:
Output
Status: inactive

اگر UFW فعال باشد ، که اگر مرحله 3 را دنبال کرده باشید ، فعال خواهد بود، خروجی می گوید که فعال است و قوانینی را که تنظیم شده لیست می کند. به عنوان مثال ، اگر فایروال تنظیم شود تا اتصالات SSH (پورت 22) را از هر مکانی امکان پذیر کند ، ممکن است خروجی چیزی شبیه به این باشد:
Output
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To Action From
— —— —-
22/tcp ALLOW IN Anywhere

اگر می خواهید بررسی کنید چگونه UFW فایروال را تنظیم کرده است ، از دستور وضعیت استفاده کنید.
مرحله 9 – غیرفعال کردن یا تنظیم مجدد UFW (اختیاری)
اگر تصمیم دارید که از UFW استفاده نکنید ، می توانید با این دستور آن را غیرفعال کنید:
$ sudo ufw disable

هر قانونی که با UFW ایجاد کرده باشید دیگر فعال نخواهد بود. اگر لازم باشد بعداً آن را فعال کنید ، همواره می توانید sudo ufw را اجرا کنید.
اگر قبلاً قوانین UFW را پیکربندی کرده اید اما تصمیم دارید که دوباره شروع کنید ، می توانید از دستور تنظیم مجدد استفاده کنید:
$ sudo ufw reset

با این کار UFW غیرفعال می شود و قوانینی را که قبلاً تعریف شده بودند حذف می شوند. به خاطر داشته باشید که اگر هر موقع آنها را تغییر دهید ، رویکرد پیش فرض به تنظیمات اصلی آنها تغییر نمی کند. این کار شروع تازه ای با UFW به شما ارائه میدهد.
نتیجه
فایروال شما اکنون پیکربندی شده است که (حداقل) اتصالات SSH را امکان پذیر کند. مطمئن شوید که هرگونه اتصالات ورودی دیگر که سرور مجازی شما نیاز دارد امکان پذیر هستند ، و در عین حال اتصالات غیر ضروری را محدود میکند ، بنابراین سرور مجازی شما عملکردی و ایمن خواهد بود.
برای کسب اطلاعات بیشتر در مورد تنظیمات رایج UFW ، از راهنمای ضروریات UFW: قوانین و فرمان های معمول فایروال استفاده کنید.

 

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

نصب و پیکربندی Ansible در اوبونتو 18.04 – نصب MySQL در اوبونتو 18.04

نظارت بر سلامت سرور با Checkmk در اوبونتو – اجرای چند نسخه PHP بر روی یک سرور

نصب Nginx، MySQL، PHP در CentOS 7 –  نصب و پیکربندی Elasticsearch در اوبونتو 18.04

راه اندازی سرور اولیه با اوبونتو 20.04 – تنظیم کلیدهای SSH در Ubuntu 20.04

نصب و استفاده از PostgreSQL در اوبونتو 20.0 – نحوه نصب MySQL در اوبونتو 20.04

نصب Python 3 روی سرور Ubuntu 18.04 –  نحوه نصب Python 3 روی سرور Ubuntu 20.04

نصب Linux،Apache،MySQL،PHP LAMP در اوبونتو 20.04 –  نصب وب سرور Apache در CentOS 8

نحوه نصب Drupal با Docker Compose –  نحوه نصب Nginx در اوبونتو 20.04

7 مورد از اقدامات امنیتی برای محافظت از سرورهای شما –  نحوه نصب و ایمن سازی Redis در اوبونتو 20.04

نحوه نصب و ایمن سازی Redis در اوبونتو 18.04اضافه کردن فضای Swap در اوبونتو 20.04

چگونه می توان فایروال را با UFW در اوبونتو 20.04 تنظیم کردنظارت بر اطلاعیه و مسیر BGP با BGPalerter اوبونتو 18.04

نصب و ایمن سازی phpMyAdmin در اوبونتو 20.04  –  نصب و استفاده از Composer در اوبونتو 20.04

ریست کردن رمز ورود ریشه MySQL یا MariaDB –  استفاده از نوع داده MySQL BLOB برای ذخیره تصاویر

نصب Nginx در اوبونتو 18.04نصب توزیع Anaconda پایتون در اوبونتو 20.04

نحوه نصب جاوا با Apt در اوبونتو 18.04 –  نحوه نصب Django و تنظیم محیط توسعه در اوبونتو 16.04

نصب جنگو و تنظیم محیط توسعه در اوبونتو 20.04 – نحوه ایجاد سرور Minecraft در اوبونتو 18.04

نحوه راه اندازی یک پروژه Node با Typescript –  نحوه نصب و پیکربندی VNC در اوبونتو 18.04

ایجاد یک برنامه Django و اتصال آن به یک بانک اطلاعاتینصب و پیکربندی VNC در اوبونتو 20.04

نصب MariaDB در اوبونتو 20.04  –  فعال سازی و اتصال رابط کاربری Django

تنظیم پلتفرم Cloud IDE کد سرور را در اوبونتو 18.04پیکربندی Apache HTTP با رویداد MPM و PHP-FPM

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان – 


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/