تنظیم فایروال اولیه سرور
اگر تازه یک VPS یا سرور اختصاصی گرفتهاید (مثلاً برای وردپرس، هاستینگ، میزبانی وب، دیتابیس، فروشگاه آنلاین یا API)، اولین کاری که باید انجام دهید «قفل کردن درها»ست. فایروال دقیقاً همین نقش را دارد: مشخص میکند چه پورتها و سرویسهایی اجازه ورود دارند و بقیه چیزها بیرون بمانند.
این مقاله را طوری نوشتهام که هم برای کسانی که تازه سرور راه انداختهاند قابل انجام باشد، هم برای کسانی که دنبال یک چکلیست سریع و حرفهای هستند. از تجربه واقعی هم استفاده شده: بیشترین مشکلهایی که دیدهام معمولاً یا از باز گذاشتن پورتهای اضافی بوده، یا از اشتباه در SSH و قفل شدن دسترسی خود مدیر.
ضمناً اگر دغدغه پرداخت و تمدید سرویسها را دارید: ما پرداختهای Hetzner را بدون کارمزد و با نرخ کاملاً رقابتی یورو در اسرع وقت انجام میدهیم؛ این مورد برای خرید سرور، تمدید، اضافه کردن آیپی و سرویسهای جانبی کاملاً کاربردی است.
چرا فایروال برای هاستینگ و وردپرس حیاتی است؟
روی یک سرور میزبانی وب، معمولاً سرویسهای زیر فعالاند:
- SSH برای مدیریت
- وبسرور (Nginx/Apache) برای سایت و وردپرس
- دیتابیس (MySQL/MariaDB/PostgreSQL)
- گاهی پنلها یا سرویسهای مانیتورینگ
بدون فایروال، بعضی سرویسها ممکن است ناخواسته به اینترنت عمومی باز باشند؛ مخصوصاً دیتابیس و پورتهای مدیریتی. نتیجهاش میتواند حمله brute-force، اسکن پورت، سوءاستفاده از سرویسهای قدیمی یا حتی مصرف منابع و کندی سایت باشد.
قبل از شروع: یک نکته حیاتی برای اینکه قفل نشوید
اگر از طریق SSH وصل هستید، اول مطمئن شوید پورت SSH را میدانید (معمولاً 22). بهترین روش این است که:
- اول قانون اجازه SSH را اضافه کنید
- بعد سیاستهای سختگیرانه را فعال کنید
اگر 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
چکلیست سریع بعد از تنظیم فایروال
- از یک سیستم دیگر تست کنید که SSH باز است
- سایت را با http و https باز کنید
- مطمئن شوید سرویسهای غیرلازم از بیرون قابل دسترسی نیستند
- هر چیزی را که نمیشناسید باز نگذارید؛ به مرور و با نیاز واقعی اضافه کنید
برای تست پورتها از روی سرور:
ss -tulpen
چند اشتباه رایج (تجربه واقعی)
- باز گذاشتن دیتابیس برای همه: رایجترین اشتباه در سرورهای وردپرس و میزبانی وب
- enable کردن فایروال قبل از allow کردن SSH
- باز کردن رنجهای بزرگ آیپی برای مدیریت
- نگه داشتن سرویسهای آزمایشی (مثل Redis/Memcached) روی اینترنت عمومی
جمعبندی
اگر دنبال یک شروع امن و استاندارد برای سرور هستید، ترکیب زیر معمولاً بهترین نتیجه را میدهد:
- فقط SSH + HTTP + HTTPS را باز کنید
- SSH را تا جای ممکن به آیپی خودتان محدود کنید
- هر سرویس اضافی را فقط وقتی واقعاً نیاز شد باز کنید
و اگر از Hetzner خرید یا تمدید دارید: ما پرداختهای Hetzner را بدون کارمزد و با نرخ کاملاً رقابتی یورو در اسرع وقت انجام میدهیم؛ این کمک میکند مدیریت هزینهها و تمدید سرویسها برای هاستینگ، وردپرس و زیرساخت وب خیلی روانتر باشد.

Write a Comment