آموزش تنظیم فایروال سرور
در این صفحه میخوانید فایروال چیست، چطور فایروال داخلی هیدیفای را روشن کنید، و وقتی برنامهای که هیدیفای آن را نمیشناسد به یک پورت نیاز دارد، چطور آن پورت را دستی باز کنید.
فایروال چیست؟
فایروال (Firewall یا دیوارهی آتش) نرمافزار یا سختافزاری است که تعیین میکند کدام ترافیک شبکه اجازه دارد به کامپیوتر یا سرور برسد و بقیه را مسدود میکند. اینجا فقط با فایروال نرمافزاری روی سرورهای لینوکسی سر و کار داریم.
یکی از ابزارهای رایج فایروال در لینوکس iptables است. به این ابزار فهرستی از قانونها (Rule) میدهید. هر قانون مشخص میکند کدام ترافیک (مثلا کدام پورت، یعنی «در» شمارهداری که سرویس پشت آن منتظر اتصال است) اجازهی عبور دارد و کدام مسدود میشود. هیدیفای از iptables استفاده میکند.
فایروال در پنل هیدیفای
هیدیفای میتواند فایروال سرور را برای شما مدیریت کند. وقتی این فایروال روشن است:
- فقط پورتهایی که هیدیفای لازم دارد باز میمانند: SSH (پورت
22و پورتی که سرور SSH شما واقعا از آن استفاده میکند)،80،443،53و همهی پورتهایی که پروکسیهای فعال شما استفاده میکنند (همان فهرست صفحهی Public ports در پنل). - بقیهی اتصالهای ورودی مسدود میشوند.
- پینگ (ICMP) همچنان مجاز است، پس هنوز میتوانید تمیز بودن آیپی را تست کنید.
- وقتی در پنل پورتی را عوض میکنید یا پروکسیای را روشن و خاموش میکنید، هیدیفای هنگام اعمال تغییرات قانونهای فایروال را خودش بهروز میکند.
فایروال به طور پیشفرض خاموش است. پیشنهاد ما این است که آن را روشن کنید، چون حمله به سرور را سختتر میکند.
برای روشن کردن آن:
- وارد پنل هیدیفای شوید.
- به تنظیمات ← تنظیمات عمومی بروید.
- گزینهی 🛡️ فایروال را روشن کنید.
- ذخیره کنید و وقتی پنل خواست، تغییرات را اعمال کنید.
قبل از روشن کردن
اگر روی همین سرور برنامههای دیگری دارید که پورت مخصوص خودشان را لازم دارند (مثلا یک پنل دیگر یا وبسرور)، اول پورت آنها را مثل روش زیر دستی باز کنید. در غیر این صورت بعد از روشن شدن فایروال از کار میافتند.
باز کردن دستی یک پورت
این کار را فقط برای برنامههایی انجام دهید که هیدیفای مدیریتشان نمیکند. هیدیفای پورت پروکسیهای خودش را خودش باز میکند.
قبل از شروع، با SSH (روشی امن برای وارد کردن دستور روی سرور از راه دور) به سرور وصل شوید. اگر نمیدانید چطور، آموزش اتصال به سرور با SSH را ببینید. اگر منوی هیدیفای باز شد، Cancel (یا کلید Esc) را بزنید تا بسته شود. اگر منو هنوز روی صفحه بود، clear را تایپ کنید و Enter بزنید.
-
این دستور را روی سرور و از طریق SSH اجرا کنید. این مثال پورت TCP شمارهی
1234را باز میکند. به جای1234شمارهی پورتی را که لازم دارید بنویسید:اگر برنامه از UDP استفاده میکند، همین دستور را با `-p udp` به جای `-p tcp` اجرا کنید. اگر سرور شما IPv6 دارد، همین دستور را یک بار دیگر با `ip6tables` به جای `iptables` اجرا کنید.-
بررسی کنید قانون اضافه شده باشد:
باید خطی با
ACCEPTوdpt:1234(شمارهی پورت شما) ببینید. -
قانونها را ذخیره کنید تا بعد از ریبوت هم باقی بمانند:
اگر پیام داد این دستور پیدا نشد، با
apt install iptables-persistentآن را نصب کنید و دوباره اجرا کنید.
بستن پینگ (اختیاری)
قانونهای فایروال هیدیفای همیشه اجازهی پینگ را میدهند. بهتر است همین طور بماند، چون پینگ به شما کمک میکند بفهمید سرور در دسترس است یا نه. اگر باز هم میخواهید پینگ را ببندید، این دستور را روی سرور و از طریق SSH اجرا کنید:
برای باز کردن دوبارهی پینگ، همان قانون را حذف کنید:
یادتان باشد تا وقتی پینگ بسته است، تستهای آنلاین پینگ جواب نمیدهند. به جای آن از تست TCP روی پورت
443استفاده کنید.عیبیابی
- بعد از روشن کردن فایروال نمیتوانید با SSH وصل شوید: هیدیفای هنگام اعمال قانونهای فایروال، پورت
22و پورتی را که سرور SSH در آن لحظه استفاده میکند باز میکند. اگر بعد از آن پورت SSH را عوض کردهاید، تنظیمات پنل را دوباره اعمال کنید، یا از کنسول وب سرویسدهندهی سرور وارد شوید و دستورhiddify applyرا اجرا کنید. - برنامهی دیگری روی سرور از کار افتاده: پورت آن بسته شده است. آن را مثل روش بالا دستی باز کنید.
- پورتی که دستی باز کرده بودید بعد از ریبوت دوباره بسته شده: قانونها را ذخیره نکردهاید. دستور
netfilter-persistent saveرا اجرا کنید.
-