• Home / راه‌اندازی VPS هتزنر / تنظیم فایروال اولیه…

تنظیم فایروال اولیه سرور

اگر تازه یک VPS یا سرور اختصاصی گرفته‌اید (مثلاً برای وردپرس، هاستینگ، میزبانی وب، دیتابیس، فروشگاه آنلاین یا API)، اولین کاری که باید انجام دهید «قفل کردن درها»ست. فایروال دقیقاً همین نقش را دارد: مشخص می‌کند چه پورت‌ها و سرویس‌هایی اجازه ورود دارند و بقیه چیزها بیرون بمانند.

این مقاله را طوری نوشته‌ام که هم برای کسانی که تازه سرور راه انداخته‌اند قابل انجام باشد، هم برای کسانی که دنبال یک چک‌لیست سریع و حرفه‌ای هستند. از تجربه واقعی هم استفاده شده: بیشترین مشکل‌هایی که دیده‌ام معمولاً یا از باز گذاشتن پورت‌های اضافی بوده، یا از اشتباه در SSH و قفل شدن دسترسی خود مدیر.

ضمناً اگر دغدغه پرداخت و تمدید سرویس‌ها را دارید: ما پرداخت‌های Hetzner را بدون کارمزد و با نرخ کاملاً رقابتی یورو در اسرع وقت انجام می‌دهیم؛ این مورد برای خرید سرور، تمدید، اضافه کردن آی‌پی و سرویس‌های جانبی کاملاً کاربردی است.


چرا فایروال برای هاستینگ و وردپرس حیاتی است؟

روی یک سرور میزبانی وب، معمولاً سرویس‌های زیر فعال‌اند:

  • SSH برای مدیریت
  • وب‌سرور (Nginx/Apache) برای سایت و وردپرس
  • دیتابیس (MySQL/MariaDB/PostgreSQL)
  • گاهی پنل‌ها یا سرویس‌های مانیتورینگ

بدون فایروال، بعضی سرویس‌ها ممکن است ناخواسته به اینترنت عمومی باز باشند؛ مخصوصاً دیتابیس و پورت‌های مدیریتی. نتیجه‌اش می‌تواند حمله brute-force، اسکن پورت، سوءاستفاده از سرویس‌های قدیمی یا حتی مصرف منابع و کندی سایت باشد.


قبل از شروع: یک نکته حیاتی برای اینکه قفل نشوید

اگر از طریق SSH وصل هستید، اول مطمئن شوید پورت SSH را می‌دانید (معمولاً 22). بهترین روش این است که:

  1. اول قانون اجازه SSH را اضافه کنید
  2. بعد سیاست‌های سختگیرانه را فعال کنید

اگر SSH را اشتباه ببندید، ممکن است مجبور شوید از کنسول دیتاسنتر/پنل استفاده کنید.


سناریوی پیشنهادی برای اکثر سرورها (وردپرس/وب‌سایت)

برای یک سرور وردپرس یا هاستینگ سبک، معمولاً این‌ها کافی است:

  • باز: 22 (SSH) یا پورت سفارشی شما
  • باز: 80 (HTTP)
  • باز: 443 (HTTPS)
  • بسته: هر چیز دیگر مگر اینکه واقعاً لازم باشد

روش 1: UFW (پیشنهادی برای Ubuntu / Debian)

نصب و بررسی وضعیت

sudo apt update
sudo apt install ufw -y
sudo ufw status verbose

سیاست پیش‌فرض (امن و استاندارد)

sudo ufw default deny incoming
sudo ufw default allow outgoing

اجازه دسترسی SSH (حتماً قبل از enable)

sudo ufw allow 22/tcp

اگر SSH شما روی پورت دیگری است (مثلاً 2222):
sudo ufw allow 2222/tcp

باز کردن پورت‌های وب (برای وردپرس و میزبانی وب)

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

فعال کردن فایروال

sudo ufw enable

بررسی

sudo ufw status numbered


محدود کردن SSH به آی‌پی خودتان (حرفه‌ای‌تر و امن‌تر)

اگر آی‌پی ثابت دارید، بهتر است SSH را فقط برای همان آی‌پی باز کنید. فرض کنید آی‌پی شما 1.2.3.4 است:

sudo ufw delete allow 22/tcp
sudo ufw allow from 1.2.3.4 to any port 22 proto tcp

برای پورت سفارشی (مثلاً 2222):
sudo ufw delete allow 2222/tcp
sudo ufw allow from 1.2.3.4 to any port 2222 proto tcp

این کار در دنیای واقعی، درصد زیادی از تلاش‌های نفوذ را از همان ابتدا بی‌اثر می‌کند.


اجازه به سرویس‌های ضروری دیگر (فقط اگر لازم شد)

اگر واقعاً سرویس خاصی دارید، همان را دقیق باز کنید. مثال‌ها:

پنل‌هایی مثل WireGuard:
sudo ufw allow 51820/udp

مانیتورینگ خاص روی پورت مشخص:
sudo ufw allow 9100/tcp

نکته: دیتابیس را معمولاً برای اینترنت عمومی باز نکنید. اگر نیاز دارید، فقط برای آی‌پی مشخص یا شبکه داخلی باز کنید.


روش 2: Firewalld (برای CentOS / AlmaLinux / Rocky)

نصب و فعال‌سازی

sudo dnf install firewalld -y
sudo systemctl enable –now firewalld
sudo firewall-cmd –state

باز کردن SSH و وب

sudo firewall-cmd –permanent –add-service=ssh
sudo firewall-cmd –permanent –add-service=http
sudo firewall-cmd –permanent –add-service=https

اعمال تغییرات

sudo firewall-cmd –reload

بررسی قوانین

sudo firewall-cmd –list-all


باز کردن یک پورت خاص (در صورت نیاز)

sudo firewall-cmd –permanent –add-port=51820/udp
sudo firewall-cmd –reload


چک‌لیست سریع بعد از تنظیم فایروال

  1. از یک سیستم دیگر تست کنید که SSH باز است
  2. سایت را با http و https باز کنید
  3. مطمئن شوید سرویس‌های غیرلازم از بیرون قابل دسترسی نیستند
  4. هر چیزی را که نمی‌شناسید باز نگذارید؛ به مرور و با نیاز واقعی اضافه کنید

برای تست پورت‌ها از روی سرور:
ss -tulpen


چند اشتباه رایج (تجربه واقعی)

  • باز گذاشتن دیتابیس برای همه: رایج‌ترین اشتباه در سرورهای وردپرس و میزبانی وب
  • enable کردن فایروال قبل از allow کردن SSH
  • باز کردن رنج‌های بزرگ آی‌پی برای مدیریت
  • نگه داشتن سرویس‌های آزمایشی (مثل Redis/Memcached) روی اینترنت عمومی

جمع‌بندی

اگر دنبال یک شروع امن و استاندارد برای سرور هستید، ترکیب زیر معمولاً بهترین نتیجه را می‌دهد:

  • فقط SSH + HTTP + HTTPS را باز کنید
  • SSH را تا جای ممکن به آی‌پی خودتان محدود کنید
  • هر سرویس اضافی را فقط وقتی واقعاً نیاز شد باز کنید

و اگر از Hetzner خرید یا تمدید دارید: ما پرداخت‌های Hetzner را بدون کارمزد و با نرخ کاملاً رقابتی یورو در اسرع وقت انجام می‌دهیم؛ این کمک می‌کند مدیریت هزینه‌ها و تمدید سرویس‌ها برای هاستینگ، وردپرس و زیرساخت وب خیلی روان‌تر باشد.

Write a Comment

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *