دیوارهای آتش

This page is a translated version of the page Firewalls and the translation is 100% complete.
Other languages:
English • ‎русский • ‎فارسی • ‎中文(中国大陆)‎

نمای کلّی

اجرای یک دیوارآتش محلی تقریباً همیشه یک تمرین خوب است. حتی زمانی که پشت دیوارآتش شبکه قرار دارید، یک دیوارآتش محلی از شما در برابر تهدیدات داخل شبکه محافظت می کند.

UFW

UFW مخفف Uncomplicated FireWall است و برنامه ای برای مدیریت دیوار‌آتش و فیلتر شبکه است. این یک رابط خط‌فرمان فراهم می کند و هدف آن این است که بدون پیچیدگی و آسان برای استفاده باشد. UFW بسیار ساده‌تر از iptables است و مکان خوبی برای شروع است مگر اینکه نیازهای بسیار تخصصی داشته باشید.

=نصب UFW

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

user $ pamac install ufw COPY TO CLIPBOARD


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

user $ sudo systemctl enable ufw.service COPY TO CLIPBOARD


user $ sudo ufw enable COPY TO CLIPBOARD



Warning
هم iptables.service و هم ufw.service را با هم فعال نکنید. ابتدا iptables.service غیرفعال و سپس ufw.service را فعال کنید.

اضافه کردن قوانین

اضافه کردن قوانین

برای مشاهده پیکربندی فعلی می‌توانید از دستور ufw status استفاده کنید. در اینجا در نصب جدید این‌گونه به نظر می‌رسد:


$ sudo ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip


این نشان می دهد که تمام ترافیک ورودی را مسدود می کند و به همه ترافیک‌های خروجی اجازه می‌دهد. این نقطه شروع خوبی برای اکثر سامانه های میزکار است. با این حال، اغلب ما می خواهیم به برخی از ترافیک های ورودی اجازه دهیم. این را می توان با دستور ufw allow انجام داد. به عنوان مثال، اگر بخواهیم به ترافیک ssh ورودی اجازه دهیم تا بتوانیم از سایر دستگاه های موجود در شبکه به دستگاه متصل شویم، می توانیم از دستور زیر استفاده کنیم:

user $ sudo ufw allow ssh COPY TO CLIPBOARD


اگر بخواهیم اتصالات tcp را به یک وب‌سرور محلی روی درگاه غیر استاندارد https، یعنی درگاه 8443 نیز انجام دهیم. می توانیم از این دستور استفاده کنیم:

user $ sudo ufw allow in 8443/tcp COPY TO CLIPBOARD




Tip
وقتی in یا out را مشخص نمی کنید، in در نظر گرفته می شود

UFW و برنامه‌های کاربردی

ممکن است تفاوتی را در دو دستور بالا مشاهده کنید. هنگامی که قوانین را برای ssh ساختیم، از نام و برای https از شماره درگاه(پورت)، یعنی 8443، استفاده کردیم. این به این دلیل است که UFW پایگاه داده کوچکی از برنامه‌ها دارد که درگاه‌ها را می‌شناسد. با دستور زیر می توانید این فهرست را مشاهده کنید:

user $ sudo ufw app list COPY TO CLIPBOARD


برای برنامه های موجود در فهرست می توانید آنها را با نام اضافه کنید. اگر می‌خواهید پیکربندی یکی از برنامه‌ها را مرور کنید، می‌توانید از دستور ufw app info استفاده کنید. به عنوان مثال، برای مرور پیکربندی ssh دستور زیر را وارد کنید:


$ sudo ufw app info SSH

Profile: SSH
Title: SSH server
Description: SSH server
 
 
Port:
  22/tcp



Tip
هنگام استفاده از برنامه ufw، دستورات به حروف بزرگ و کوچک حساس هستند، اما هنگام اضافه کردن قوانین، به آنها حساس نیستند

با نصب بسته ufw-extras با مدیر بسته مورد علاقه خود یا دستور زیر، می‌توان برخی از برنامه‌های از پیش پیکربندی‌شده اضافی را اضافه کرد:

user $ pamac install ufw-extras COPY TO CLIPBOARD


حذف قوانین

قوانین را می توان با دستور ufw delete حذف کرد. به عنوان مثال، برای حذف قوانین 8443 ما می توانیم از دستور استفاده کنیم:

user $ sudo ufw delete allow 8443/tcp COPY TO CLIPBOARD


شما همچنین می توانید آنها را با شماره حذف کنید. اگر یک لیست شماره دار داشته باشید که می توانید با دستور زیر مشاهده کنید، این کار آسان تر است:


$ sudo ufw status numbered

Status: active
To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 22 (v6)                    ALLOW IN    Anywhere (v6)


حال اگر بخواهیم اجازه دادن به ssh را در ipv6 متوقف کنیم، می توانیم از دستور زیر استفاده کنیم:

user $ sudo ufw delete 2 COPY TO CLIPBOARD


GUFW

ترجیح می دهید از برنامه های رابط کاربری گرافیکی استفاده کنید و همچنان می خواهید دیوارآتش خود را مدیریت کنید؟ مشکلی نیست GUFW یک برنامه گرافیکی GTK برای UFW است که قصد دارد مدیریت دیوارآتش لینوکس را تا حد امکان در دسترس و آسان کند. دارای پیش‌تنظیمی برای درگاه‌های رایج و برنامه‌های p2p است.

اگر قبلاً نصب نشده باشد gufw را می توان از مخازن نصب کرد:

user $ pamac install gufw COPY TO CLIPBOARD


اکنون در منو به‌عنوان پیکربندی دیوارآتش (Firewall Configuration) یا با اجرای مستقیم gufw در دسترس خواهد بود.

iptables

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

برای فعال کردن قوانین بارگیری در راه اندازی می توانید از دستور زیر استفاده کنید:

user $ sudo systemctl enable iptables.service COPY TO CLIPBOARD


با این کار قوانین از پرونده etc/iptables/iptables.rules/ بارگیری می شود.

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

user $ sudo iptables -L COPY TO CLIPBOARD


برای ذخیره قوانین فعلی در یک پرونده:

user $ sudo sh -c "iptables-save > /etc/iptables/iptables.rules" /etc/iptables/iptables.rules" " aria-disabled="false">COPY TO CLIPBOARD


برای بارگذاری قوانین از یک پرونده:

user $ sudo sh -c "iptables-restore > /etc/iptables/iptables.rules" /etc/iptables/iptables.rules" " aria-disabled="false">COPY TO CLIPBOARD


برای اجازه دادن به اتصالات ssh:

user $ sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT COPY TO CLIPBOARD


user $ sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT COPY TO CLIPBOARD


جستار های وابسته