ابزار کاربر

ابزار سایت


terminal:u:how-to-configure-a-firewall-with-ufw

تفاوت‌ها

تفاوت دو نسخهٔ متفاوت از صفحه را مشاهده می‌کنید.

پیوند به صفحه‌ی تفاوت‌ها

نگارش قبل در دو طرفنگارش قبل
نگارش بعد
نگارش قبل
terminal:u:how-to-configure-a-firewall-with-ufw [2019/09/30 20:23] – [مرحله 9 - غیرفعال کردن یا تنظیم مجدد UFW (اختیاری)] phoenixterminal:u:how-to-configure-a-firewall-with-ufw [2020/01/20 19:36] (فعلی) – [طریقه کانفیگ فایروال با ufw] phoenix
خط 1: خط 1:
 ====== طریقه کانفیگ فایروال با ufw ====== ====== طریقه کانفیگ فایروال با ufw ======
 [[software:security:firewall:gufw|ufw]] ، یک چیزی شبیه فایروال **iptables** است که روند پیکربندی فایروال را بسیار ساده کرده. در حالی که **iptables** ابزاری محکم و انعطاف پذیر است ، یادگیری نحوه استفاده از آن برای پیکربندی صحیح فایروال ، برای مبتدیان دشوار است. اگر به دنبال شروع به کار در تأمین امنیت شبکه خود هستید و مطمئن نیستید از کدام ابزاری استفاده کنید ، [[software:security:firewall:gufw|ufw]] ممکن است انتخاب مناسبی برای شما باشد. [[software:security:firewall:gufw|ufw]] ، یک چیزی شبیه فایروال **iptables** است که روند پیکربندی فایروال را بسیار ساده کرده. در حالی که **iptables** ابزاری محکم و انعطاف پذیر است ، یادگیری نحوه استفاده از آن برای پیکربندی صحیح فایروال ، برای مبتدیان دشوار است. اگر به دنبال شروع به کار در تأمین امنیت شبکه خود هستید و مطمئن نیستید از کدام ابزاری استفاده کنید ، [[software:security:firewall:gufw|ufw]] ممکن است انتخاب مناسبی برای شما باشد.
 +
 +<WRAP center round tip 60%>
 +در صورت هرگونه سوال یا مشکل حتما در [[https://linuxfedora.ir/forum/viewtopic.php?f=9&t=46|انجمن]] مطرح نمایید تا در اسرع وقت پاسخگو باشیم
 +[[https://linuxfedora.ir/forum/viewtopic.php?f=9&t=46|انجمن]]
 +</WRAP>
 ===== مرحله 1 - استفاده از IPv6 با UFW (اختیاری) ===== ===== مرحله 1 - استفاده از IPv6 با UFW (اختیاری) =====
  
خط 26: خط 31:
  
  
-اگر اکنون دیوار آتش [[software:security:firewall:gufw|ufw]] را فعال کنیم ، تمام اتصالات ورودی را انکار می کند. این بدان معناست که اگر بخواهیم این دیوارآتش را بر روی سرور فعال بکنیم ، باید قوانینی را ایجاد کنیم که صریحاً اجازه ورود به سیستمهای ورودی قانونی را بدهد - برای مثال اتصالات ''SSH'' یا ''HTTP''. اگر از سرور ابری استفاده می کنید ، احتمالاً می خواهید به اتصالات **SSH** ورودی اجازه دهید تا بتوانید به سرور خود متصل شوید و مدیریت کنید.+اگر اکنون دیوار آتش [[software:security:firewall:gufw|ufw]] را فعال کنیم ، تمام اتصالات ورودی را انکار می کند. این بدان معناست که اگر بخواهیم این دیوارآتش را بر روی سرور فعال بکنیم ، باید قوانینی را ایجاد کنیم که صریحاً اجازه ورود به سیستمهای ورودی قانونی کند - برای مثال اتصالات ''SSH'' یا ''HTTP''. اگر از سرور ابری استفاده می کنید ، احتمالاً می خواهید به اتصالات **SSH** اجازه ورود دهید تا بتوانید به سرور خود وصل و مدیریت کنید.
  
-برای پیکربندی سرور خود برای اتصال به اتصالات **SSH** ، می توانید از این دستور استفاده کنید:+برای پیکربندی سرور خود برای وصل شدن به **SSH** ، می توانید از این دستور استفاده کنید:
 <code;bash;> <code;bash;>
 sudo ufw allow ssh sudo ufw allow ssh
 </code> </code>
-این قوانین فایروال را ایجاد می کند که به کلیه اتصالات در پورت **22** اجازه می دهد ، یعنی پورتی که **Daemon SSH** بطور پیش فرض در آن گوش می دهد. [[software:security:firewall:gufw|ufw]] می داند **SSH** و تعدادی دیگر از اسامی سرویس به چه معناست زیرا در پرونده ''/ etc / service'' ها به عنوان خدمات ذکر شده اند.+این قوانین به کلیه اتصالات در پورت **22** اجازه وصل شدن را میدهد. [[software:security:firewall:gufw|ufw]] می داند **SSH** و تعدادی دیگر از اسامی سرویس به چه معناست زیرا در پرونده ''/ etc / service'' به عنوان سرویس ذکر شده اند.
  
 با این وجود ، ما در واقع می توانیم با مشخص کردن پورت به جای نام سرویس ، قانون معادل آن را بنویسیم. به عنوان مثال ، این دستور مانند دستور فوق کار می کند: با این وجود ، ما در واقع می توانیم با مشخص کردن پورت به جای نام سرویس ، قانون معادل آن را بنویسیم. به عنوان مثال ، این دستور مانند دستور فوق کار می کند:
خط 38: خط 43:
 sudo ufw allow 22 sudo ufw allow 22
 </code> </code>
-اگر **Daemon SSH** خود را برای استفاده از درگاه دیگری پیکربندی کرده اید ، باید پورت مناسب را مشخص کنید. به عنوان مثال ، اگر سرور **SSH** شما درگاه **2222** را گوش می دهد ، می توانید از این دستور برای اتصال به آن درگاه استفاده کنید:+اگر **SSH** خود را برای استفاده از درگاه دیگری پیکربندی کرده اید ، باید پورت مناسب را مشخص کنید. به عنوان مثال ، اگر سرور **SSH** شما درگاه **2222** را گوش می دهد ، می توانید از این دستور برای اتصال به آن درگاه استفاده کنید:
 <code;bash;> <code;bash;>
 sudo ufw allow 2222 sudo ufw allow 2222
 </code> </code>
-اکنون که فایروال شما پیکربندی شده است تا بتواند اتصالات **SSH** ورودی داشته باشد.+اکنون فایروال شما پیکربندی شده است تا بتواند اتصالات **SSH** ورودی داشته باشد.
 ===== مرحله 4 - فعال کردن UFW ===== ===== مرحله 4 - فعال کردن UFW =====
  
خط 49: خط 54:
 sudo ufw enable sudo ufw enable
 </code> </code>
-شما یک اخطار دریافت خواهید کرد که می گوید این فرمان ممکن است اتصالات **SSH** موجود را مختل کند. ما قبلاً یک قانون فایروال تنظیم کرده ایم که اتصالات **SSH** را امکان پذیر می سازد ، بنابراین باید ادامه یابد.پس با <key>y</key> پاسخ دهید.+شما یک اخطار دریافت خواهید کرد که می گوید این فرمان ممکن است اتصالات **SSH** موجود را مختل کند. ما قبلاً یک قانون فایروال تنظیم کرده ایم که اتصالات **SSH** را امکان پذیر می سازد ،پس با <key>y</key> پاسخ دهید.
  
 فایروال اکنون فعال است. برای دیدن دستورالعمل های تنظیم شده ، می توانید دستور زیر را استفاده کنید: فایروال اکنون فعال است. برای دیدن دستورالعمل های تنظیم شده ، می توانید دستور زیر را استفاده کنید:
خط 71: خط 76:
 sudo ufw allow 443 sudo ufw allow 443
 </code> </code>
-  * FTP در پورت 21 ، که برای انتقال پرونده های رمز نشده استفاده می شود (که احتمالاً شما به هر حال نباید از آنها استفاده کنید)+  * FTP در پورت 21 ، که برای انتقال پرونده های رمز نشده استفاده می شود (که بهتر است از آن استفاده نکنید)
 <code;bash;> <code;bash;>
 sudo ufw allow ftp sudo ufw allow ftp
خط 81: خط 86:
  
  
-شما می توانید محدوده پورت را با [[software:security:firewall:gufw|ufw]] مشخص کنید. برخی از برنامه ها به جای یک پورت واحد از پورت های مختلف استفاده می کنند.+شما می توانید محدوده پورت را برای [[software:security:firewall:gufw|ufw]] مشخص کنید. برخی از برنامه ها به جای یک پورت واحد از پورت های مختلف استفاده می کنند.
  
 به عنوان مثال ، برای اجازه دادن به اتصالات **X11** ، که از پورت های ''6000-6007'' استفاده می کنند ، از این دستورات استفاده کنید: به عنوان مثال ، برای اجازه دادن به اتصالات **X11** ، که از پورت های ''6000-6007'' استفاده می کنند ، از این دستورات استفاده کنید:
خط 88: خط 93:
 sudo ufw allow 6000:6007/udp sudo ufw allow 6000:6007/udp
 </code> </code>
-هنگام مشخص کردن محدوده پورت با [[software:security:firewall:gufw|ufw]] ، باید پروتکل (**tcp** یا **udp**) را مشخص کنید که قوانین باید روی آن اعمال شود. ما قبلاً به این موضوع اشاره نکرده ایم زیرا مشخص نکردن پروتکل به هر دو پروتکل اجازه می دهد بصورت پیش فرض+هنگام مشخص کردن محدوده پورت برای [[software:security:firewall:gufw|ufw]] ، باید پروتکل (**tcp** یا **udp**) را مشخص کنید که قوانین باید روی آن اعمال شود. ما قبلاً به این موضوع اشاره نکرده ایم زیرا مشخص نکردن پروتکل به هر دو پروتکل اجازه دسترسی می دهد بصورت پیش فرض
 ==== آدرس های IP خاص ==== ==== آدرس های IP خاص ====
  
  
-هنگام کار با [[software:security:firewall:gufw|ufw]] ، می توانید آدرس IP را نیز مشخص کنید. به عنوان مثال ، اگر می خواهید از یک آدرس IP خاص مانند آدرس IP محل کار یا خانه شماره ''15.15.15.51'' به اتصالات اجازه دهید ، باید آدرس IP را مشخص کنید:+هنگام کار با [[software:security:firewall:gufw|ufw]] ، می توانید آدرس IP را نیز مشخص کنید. به عنوان مثال ، اگر می خواهید از یک آدرس IP خاص مانند آدرس IP محل کار یا خانه با شماره ''15.15.15.51'' اجازه دسترسی دهید ، باید آدرس IP را مشخص کنید:
 <code;bash;> <code;bash;>
 sudo ufw allow from 15.15.15.51 sudo ufw allow from 15.15.15.51
خط 101: خط 106:
 </code> </code>
 ==== زیرمجموعه ها(Subnets) ==== ==== زیرمجموعه ها(Subnets) ====
-اگر می خواهید به یک زیر شبکه از آدرس های IP اجازه دهید ، می توانید با استفاده از نماد **CIDR** برای مشخص کردن یک **netmask** این کار را انجام دهید. به عنوان مثال ، اگر می خواهید تمام آدرس های IP از ''15.15.15.1'' تا ''15.15.15.254'' را مجاز کنید ، می توانید از این دستور استفاده کنید:+اگر می خواهید به یک زیر شبکه از آدرس های IP اجازه دهید ، می توانید با استفاده از نماد **/** برای مشخص کردن یک **netmask** این کار را انجام دهید. به عنوان مثال ، اگر می خواهید تمام آدرس های IP از ''15.15.15.1'' تا ''15.15.15.254'' را مجاز کنید ، می توانید از این دستور استفاده کنید:
 <code;bash;> <code;bash;>
 sudo ufw allow from 15.15.15.0/24 sudo ufw allow from 15.15.15.0/24
 </code> </code>
-به همین ترتیب ، شما همچنین می توانید پورت مقصد را تعیین کنید که زیر شبکه **15.15.15.0/24** اجازه اتصال به آن را داشته باشد. باز هم ، ما از پورت **22 (SSH)** به عنوان نمونه استفاده خواهیم کرد:+به همین ترتیب ، شما همچنین می توانید پورت مقصد را نیز تعیین کنید که زیر شبکه **15.15.15.0/24** اجازه اتصال به آن را داشته باشد. باز هم ، ما از پورت **22 (SSH)** به عنوان نمونه استفاده خواهیم کرد:
 <code;bash;> <code;bash;>
 sudo ufw allow from 15.15.15.0/24 to any port 22 sudo ufw allow from 15.15.15.0/24 to any port 22
خط 118: خط 123:
  
  
-اگر می خواهید یک قانون فایروال ایجاد کنید که فقط مربوط به یک کارت شبکه خاص باشد ، می توانید با مشخص کردن "allow in on" و نام کارت شبکه این کار را انجام دهید.+اگر می خواهید یک قانون فایروال ایجاد کنید که فقط مربوط به یک کارت شبکه خاص مرتبط باشد ، می توانید با مشخص کردن **"allow in on"** و نام کارت شبکه این کار را انجام دهید.
  
 ممکن است بخواهید قبل از ادامه کار ، رابط های شبکه خود را جستجو کنید. برای انجام این کار ، از این دستور استفاده کنید: ممکن است بخواهید قبل از ادامه کار ، رابط های شبکه خود را جستجو کنید. برای انجام این کار ، از این دستور استفاده کنید:
خط 132: خط 137:
 ... ...
 </code> </code>
-خروجی بالا نشانگر نام های کارت شبکه است. به طور معمول چیزی شبیه زیر نامیده میشه ''eth0'' یا ''eth1'' +خروجی بالا نشانگر نام های کارت شبکه است. به طور معمول چیزی شبیه زیر نامیده میشود ''eth0'' یا ''eth1'' 
-بنابراین ، اگر سیستم شما یک کارت شبکه عمومی به نام **eth0** دارد ، می توانید با این دستور ترافیک **HTTP (پورت 80)** را به آن اجازه دهید:+بنابراین ، اگر سیستم شما یک کارت شبکه عمومی به نام **eth0** دارد ، می توانید با این دستور ترافیک **HTTP (پورت 80)** را به آن متصل کنید:
 <code;bash;> <code;bash;>
 sudo ufw allow in on eth0 to any port 80 sudo ufw allow in on eth0 to any port 80
 </code> </code>
-با انجام این کار به سیستم شما امکان می دهد درخواستهای **HTTP** را از طریق اینترنت عمومی دریافت کند.+با انجام این کار به سیستم شما امکان می دهد درخواستهای **HTTP** را از طریق **eth0** دریافت کند.
  
 یا اگر می خواهید سرور پایگاه داده **MySQL (پورت 3306)** شما را به عنوان مثال در کارت شبکه خصوصی **eth1** گوش دهد ، می توانید از این دستور استفاده کنید: یا اگر می خواهید سرور پایگاه داده **MySQL (پورت 3306)** شما را به عنوان مثال در کارت شبکه خصوصی **eth1** گوش دهد ، می توانید از این دستور استفاده کنید:
خط 145: خط 150:
 این به سرورهای دیگر در شبکه خصوصی شما اجازه می دهد تا به پایگاه داده **MySQL** شما متصل شوند. این به سرورهای دیگر در شبکه خصوصی شما اجازه می دهد تا به پایگاه داده **MySQL** شما متصل شوند.
 ===== مرحله 6 - انکار اتصالات ===== ===== مرحله 6 - انکار اتصالات =====
-اگر خط مشی پیش فرض اتصال های ورودی را تغییر نداده اید ، [[software:security:firewall:gufw|ufw]] پیکربندی شده است تا تمام اتصالات ورودی را انکار کند. به طور کلی ، این کار با ایجاد نیاز به شما در ایجاد قوانینی که صریحاً اجازه ورود به پورت های خاص و آدرس های IP را داشته باشند ، فرایند ایجاد یک خط مشی ایمن را ساده تر می کند. +اگر خط مشی پیش فرض اتصال های ورودی را تغییر نداده اید ، [[software:security:firewall:gufw|ufw]] پیکربندی شده است تا تمام اتصالات ورودی را انکار کند.  
- +با این وجود ، گاهی اوقات شما می خواهید ارتباطات خاص را بر اساس آدرس IP منکر کنید ، شاید به این دلیل که می دانید سرور شما از آنجا مورد حمله قرار می گیرد. همچنین ، اگر می خواهید خط مشی ورودی پیش فرض خود را تغییر دهید<wrap hi>(که اصلا توصیه نمیشود)</wrap> ، لازم است که قوانین را برای هرگونه خدمات یا آدرسهای IP که نمی خواهید مجوزهای مربوطه آنها را ایجاد کنید.
-با این وجود ، گاهی اوقات شما می خواهید ارتباطات خاص را بر اساس آدرس IP منبع یا زیر شبکه منکر کنید ، شاید به این دلیل که می دانید سرور شما از آنجا مورد حمله قرار می گیرد. همچنین ، اگر می خواهید خط مشی ورودی پیش فرض خود را تغییر دهید<wrap hi>(که اصلا توصیه نمیشود)</wrap> ، لازم است که قوانین را برای هرگونه خدمات یا آدرسهای IP که نمی خواهید مجوزهای اتصال را ایجاد کنید.+
  
 برای نوشتن قوانین انکار ، می توانید از دستورات گفته شده در بالا استفاده کنید. برای نوشتن قوانین انکار ، می توانید از دستورات گفته شده در بالا استفاده کنید.
خط 161: خط 165:
 ===== مرحله 7 - حذف قوانین ===== ===== مرحله 7 - حذف قوانین =====
  
-دانستن چگونگی حذف قوانین فایروال به همان اندازه مهم است که بدانید چگونه می توانید آنها را ایجاد کنید. دو روش مختلف وجود دارد که کدام قاعده را حذف می کند: بر اساس شماره قانون یا با قانون واقعی (شبیه به نحوه تعیین قوانین هنگام ایجاد)اگر با [[software:security:firewall:gufw|ufw]] تازه وارد شوید ، با روش حذف با شماره قانون شروع خواهیم کرد زیرا ساده تر از نوشتن قوانین واقعی برای حذف است.+دانستن چگونگی حذف قوانین فایروال به همان اندازه مهم است که بدانید چگونه می توانید آنها را ایجاد کنید. دو روش مختلف وجود دارد:  
 +  - بر اساس شماره قانون 
 +  - قانون واقعی (شبیه به نحوه تعیین قوانین هنگام ایجاد)  
 + اگر با [[software:security:firewall:gufw|ufw]] تازه وارد هستید ، با روش حذف با شماره قانون شروع خواهیم کرد زیرا ساده تر از نوشتن قوانین واقعی برای حذف است.
 ==== توسط شماره قانون ==== ==== توسط شماره قانون ====
  
خط 192: خط 199:
 sudo ufw delete allow 80 sudo ufw delete allow 80
 </code> </code>
-در صورت استفاده از **IPv4** و **IPv6** قانون را برای هر دو حذف می کند.+در صورت استفاده از **IPv4** و **IPv6** قانون برای هر دو حذف می شود.
 ===== مرحله 8 - بررسی وضعیت و قوانین UFW ===== ===== مرحله 8 - بررسی وضعیت و قوانین UFW =====
  
خط 229: خط 236:
 </code> </code>
 با این کار [[software:security:firewall:gufw|ufw]] غیرفعال می شود و قوانینی را که قبلاً تعریف شده بودند حذف می کند. با این کار [[software:security:firewall:gufw|ufw]] غیرفعال می شود و قوانینی را که قبلاً تعریف شده بودند حذف می کند.
- 
  --- //[[phoenix@linuxfedora.ir|phoenix]] 2019/09/30 20:22//  --- //[[phoenix@linuxfedora.ir|phoenix]] 2019/09/30 20:22//
terminal/u/how-to-configure-a-firewall-with-ufw.1569862384.txt.gz · آخرین ویرایش: 2019/09/30 20:23 توسط phoenix

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki