سطح: متوسط تا حرفه‌ای | مناسب برای: مدیران سرور، شرکت‌های هاستینگ، مدیران WHM، مدیران سایت‌های وردپرسی، کاربران VPS و سرور اختصاصی، و افرادی که می‌خواهند امنیت سرور cPanel را در برابر Brute Force، بدافزار، آسیب‌پذیری‌های وردپرس و دسترسی‌های غیرمجاز افزایش دهند

cPanel و WHM یکی از محبوب‌ترین ترکیب‌ها برای مدیریت هاست لینوکس، اکانت‌های میزبانی، ایمیل، DNS، SSL، دیتابیس و فایل‌های سایت است. همین محبوبیت باعث می‌شود سرورهای cPanel همیشه یکی از هدف‌های جذاب برای حملات خودکار، Brute Force، اسکن آسیب‌پذیری، بدافزارهای وردپرسی، حملات روی ایمیل و تلاش برای نفوذ به WHM باشند.

امنیت cPanel فقط با نصب یک فایروال یا تغییر پورت SSH کامل نمی‌شود. یک سرور سی‌پنل امن باید چند لایه دفاعی داشته باشد: سیستم‌عامل به‌روز، SSH امن، رمزهای قوی، احراز هویت دومرحله‌ای، cPHulk، فایروال درست، ModSecurity، اسکن بدافزار، محدودسازی PHP، بکاپ قابل بازیابی، مانیتورینگ لاگ‌ها، AutoSSL، ایزوله‌سازی کاربران و مدیریت منظم آپدیت‌ها.

در این مقاله یک چک‌لیست حرفه‌ای و عملی برای امن‌سازی cPanel و WHM آماده کرده‌ایم؛ چک‌لیستی که هم برای مدیران سرور اختصاصی و VPS کاربرد دارد، هم برای شرکت‌هایی که سرویس هاست لینوکس، خرید هاست سی پنل یا نمایندگی هاست ارائه می‌دهند.

اگر هنوز در مرحله انتخاب سرویس هستید، قبل از ورود به تنظیمات فنی، بهتر است بدانید کیفیت زیرساخت و مدیریت امنیت در سرویس‌هایی مثل هاست، خرید هاست لینوکس، هاست وردپرس ایران و خرید هاست ووکامرس نقش مستقیم در امنیت سایت دارد.

فهرست مطالب

چرا امنیت cPanel و WHM مهم است؟

cPanel فقط یک کنترل پنل ساده نیست. روی یک سرور cPanel معمولاً چندین سایت، ایمیل، دیتابیس، فایل، بکاپ، رکورد DNS، اکانت FTP و اطلاعات حساس مشتریان قرار دارد. اگر WHM یا یکی از اکانت‌های cPanel آسیب ببیند، ممکن است فقط یک سایت دچار مشکل نشود؛ بلکه کل سرور و اعتبار IPهای آن تحت تأثیر قرار بگیرد.

یک رخداد امنیتی در سرور cPanel می‌تواند پیامدهای زیر را داشته باشد:

  • هک شدن سایت‌های وردپرسی و ووکامرسی
  • ارسال اسپم از اکانت‌های ایمیل و افت Reputation سرور
  • قرار گرفتن IP سرور در بلک‌لیست‌های ایمیل
  • آپلود Web Shell و فایل‌های مخرب در مسیر کاربران
  • دسترسی غیرمجاز به فایل‌ها و دیتابیس‌ها
  • تغییر DNS یا ریدایرکت کاربران به سایت‌های مخرب
  • حذف یا رمزگذاری فایل‌ها در حملات باج‌افزاری
  • از دست رفتن اعتماد مشتریان و آسیب به سئو

به همین دلیل، امنیت سرور cPanel باید به‌صورت دوره‌ای بررسی شود؛ نه فقط بعد از هک شدن یا دریافت هشدار از دیتاسنتر.

امنیت cPanel یعنی چند لایه دفاعی، نه یک ابزار

یکی از اشتباهات رایج این است که مدیر سرور تصور می‌کند نصب CSF یا Imunify360 به‌تنهایی کافی است. این ابزارها بسیار مفید هستند، اما امنیت واقعی زمانی ایجاد می‌شود که چند لایه دفاعی کنار هم قرار بگیرند.

لایه‌های اصلی امنیت cPanel عبارت‌اند از:

  • امنیت سیستم‌عامل و آپدیت‌ها
  • امنیت دسترسی SSH و WHM
  • احراز هویت قوی و 2FA
  • محافظت در برابر Brute Force
  • فایروال شبکه و محدودسازی پورت‌ها
  • WAF و ModSecurity برای درخواست‌های وب
  • اسکن بدافزار و فایل‌های آلوده
  • ایزوله‌سازی کاربران و محدودسازی PHP
  • SSL، TLS و رمزنگاری ارتباطات
  • بکاپ امن، خارج از سرور و قابل بازیابی
  • مانیتورینگ لاگ‌ها و هشدارهای امنیتی

اگر یکی از این لایه‌ها ضعیف باشد، مهاجم ممکن است از همان نقطه وارد شود. بنابراین این مقاله را به‌عنوان یک چک‌لیست دوره‌ای ببینید، نه فقط یک آموزش یک‌باره.

۱. cPanel، WHM و سیستم‌عامل را همیشه به‌روز نگه دارید

اولین اصل امنیت cPanel، به‌روز بودن خود cPanel & WHM، سیستم‌عامل و نرم‌افزارهای وابسته است. نسخه‌های قدیمی ممکن است آسیب‌پذیری‌های شناخته‌شده داشته باشند و توسط اسکنرهای خودکار شناسایی شوند.

برای بررسی نسخه cPanel از SSH:

/usr/local/cpanel/cpanel -V

برای اجرای آپدیت cPanel:

/usr/local/cpanel/scripts/upcp

در WHM نیز می‌توانید به مسیر زیر بروید:

WHM > Server Configuration > Update Preferences

پیشنهادهای مهم:

  • آپدیت خودکار cPanel را فعال کنید، مگر اینکه سیاست تست جداگانه دارید.
  • سیستم‌عامل را مرتب به‌روزرسانی کنید.
  • نسخه‌های EOL مثل CentOS 7 را برای آینده جدی بگیرید و برای مهاجرت برنامه داشته باشید.
  • پلاگین‌های WHM، ابزارهای امنیتی و افزونه‌های جانبی را هم به‌روز نگه دارید.

اگر سرور شما برای میزبانی سایت‌های حساس استفاده می‌شود، داشتن یک برنامه منظم برای آپدیت، تست و rollback ضروری است. این موضوع برای ارائه‌دهندگان هاست نمایندگی و شرکت‌هایی که چندین اکانت مشتری روی یک سرور دارند اهمیت بیشتری دارد.

۲. دسترسی root و ورودهای مدیریتی را امن کنید

دسترسی root در WHM و SSH حساس‌ترین سطح دسترسی روی سرور است. اگر رمز root لو برود یا ورود مدیریتی بدون محدودیت در دسترس اینترنت باشد، کل سرور در خطر است.

اقدامات پیشنهادی:

  • برای root رمز بسیار قوی و منحصربه‌فرد استفاده کنید.
  • ورود مستقیم root از SSH را در صورت امکان غیرفعال کنید.
  • یک کاربر sudo محدود و امن برای مدیریت روزمره بسازید.
  • ورود WHM را با 2FA محافظت کنید.
  • دسترسی WHM و SSH را به IPهای مدیریتی یا VPN محدود کنید.
  • رمزهای مدیریتی را در مرورگر یا فایل‌های متنی ذخیره نکنید.

در فایل تنظیمات SSH می‌توانید ورود مستقیم root را محدود کنید:

nano /etc/ssh/sshd_config

مقدار پیشنهادی:

PermitRootLogin no

بعد از تغییر تنظیمات، سرویس SSH را reload یا restart کنید. قبل از بستن نشست فعلی، حتماً ورود با کاربر جدید را تست کنید تا دسترسی سرور را از دست ندهید.

۳. SSH را امن‌سازی کنید

SSH یکی از مهم‌ترین درگاه‌های مدیریت سرور است. روی بسیاری از سرورها، حملات Brute Force دائماً روی پورت SSH انجام می‌شود. هدف اصلی این حملات، پیدا کردن رمز ضعیف یا کاربر قابل حدس است.

چک‌لیست امن‌سازی SSH:

  • ورود با کلید SSH را جایگزین ورود با رمز کنید.
  • در صورت امکان PasswordAuthentication را غیرفعال کنید.
  • پورت SSH را فقط برای IPهای مدیریتی باز بگذارید.
  • دسترسی root مستقیم را محدود کنید.
  • از Fail2Ban، CSF/LFD یا cPHulk برای کاهش حملات استفاده کنید.
  • لاگ‌های SSH را مرتب بررسی کنید.

نمونه تنظیمات سخت‌گیرانه‌تر در /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
LoginGraceTime 30

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

۴. سیاست رمز عبور قوی تعریف کنید

رمز ضعیف هنوز یکی از ساده‌ترین راه‌های نفوذ به cPanel، WHM، ایمیل و FTP است. حتی اگر فایروال و WAF داشته باشید، یک رمز ضعیف می‌تواند کل زنجیره امنیت را بی‌اثر کند.

در WHM به مسیر زیر بروید:

WHM > Security Center > Password Strength Configuration

پیشنهادها:

  • حداقل قدرت رمز برای cPanel، WHM، FTP و Email را بالا تنظیم کنید.
  • رمزهای تکراری یا قابل حدس را نپذیرید.
  • برای اکانت‌های مهم از Password Manager استفاده کنید.
  • رمز root، WHM، دیتابیس و ایمیل‌های مهم را جداگانه نگه دارید.
  • بعد از رخداد امنیتی، همه رمزهای مرتبط را تغییر دهید.

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

۵. احراز هویت دومرحله‌ای را برای WHM و cPanel فعال کنید

فعال‌سازی 2FA یکی از مؤثرترین کارها برای کاهش ریسک سرقت رمز است. حتی اگر رمز کاربر لو برود، مهاجم برای ورود به کد یک‌بارمصرف نیاز دارد.

برای فعال‌سازی 2FA در WHM:

WHM > Security Center > Two-Factor Authentication

پیشنهادهای عملی:

  • 2FA را برای root و همه کاربران WHM اجباری کنید.
  • برای اکانت‌های حساس cPanel نیز 2FA را فعال کنید.
  • روش نگهداری امن backup codeها را مستند کنید.
  • در زمان تغییر گوشی یا خروج کارمند، دسترسی‌ها را بازبینی کنید.

برای سایت‌های فروشگاهی، شرکتی و اکانت‌هایی که دیتابیس مشتریان دارند، 2FA دیگر یک گزینه لوکس نیست؛ یک حداقل امنیتی است.

۶. cPHulk Brute Force Protection را فعال و تنظیم کنید

cPHulk ابزار داخلی cPanel برای مقابله با حملات Brute Force است. این ابزار تلاش‌های ناموفق ورود را رصد می‌کند و می‌تواند IP یا اکانت مهاجم را به‌صورت موقت یا دائم محدود کند.

برای فعال‌سازی:

WHM > Security Center > cPHulk Brute Force Protection

تنظیمات پیشنهادی:

  • فعال‌سازی محدودیت برای WHM، cPanel، Webmail، SSH و FTP
  • تعریف threshold منطقی برای failed login
  • افزودن IPهای مدیریتی به whitelist با احتیاط
  • بررسی دوره‌ای گزارش IPهای مسدودشده
  • هماهنگی cPHulk با CSF/LFD برای جلوگیری از تداخل

اگر threshold را بیش از حد سخت‌گیرانه تنظیم کنید، ممکن است کاربران واقعی هم lock شوند. اگر خیلی آزاد باشد، جلوی حملات را به‌خوبی نمی‌گیرد. بنابراین بعد از فعال‌سازی، لاگ‌ها را بررسی و تنظیمات را tune کنید.

۷. فایروال CSF/LFD یا فایروال معادل را اصولی تنظیم کنید

روی بیشتر سرورهای cPanel، ترکیب CSF و LFD یکی از رایج‌ترین انتخاب‌ها برای فایروال و تشخیص login failure است. CSF ترافیک ورودی و خروجی را کنترل می‌کند و LFD رفتارهای مشکوک مثل تلاش‌های ورود ناموفق، مصرف غیرعادی منابع یا پردازش‌های مشکوک را گزارش می‌دهد.

موارد مهم در تنظیم فایروال:

  • فقط پورت‌های لازم را باز بگذارید.
  • SSH و WHM را تا حد امکان به IPهای مشخص محدود کنید.
  • پورت‌های قدیمی و ناامن مثل Telnet را ببندید.
  • هشدارهای LFD را فعال کنید.
  • قوانین خروجی را هم بررسی کنید، نه فقط ورودی.
  • IPهای trusted را مستند و محدود نگه دارید.

پورت‌های رایج cPanel شامل موارد زیر هستند، اما لازم نیست همه آن‌ها برای همه اینترنت باز باشند:

سرویسپورت رایجتوضیح امنیتی
HTTP80برای وب‌سایت‌ها لازم است
HTTPS443برای وب‌سایت‌های امن لازم است
SSH22 یا پورت سفارشیبه IPهای مدیریتی محدود شود
WHM2087به IP/VPN مدیریتی محدود شود
cPanel2083در هاست اشتراکی ممکن است عمومی باشد؛ 2FA مهم است
Webmail2096SSL و رمز قوی ضروری است
SMTP/IMAP/POP3465، 587، 993، 995نسخه‌های امن را ترجیح دهید

۸. دسترسی WHM و SSH را با IP یا VPN محدود کنید

یکی از بهترین کارها برای کاهش سطح حمله این است که اصلاً اجازه ندهید همه اینترنت صفحه ورود WHM یا SSH را ببینند. اگر تیم مدیریتی شما IP ثابت یا VPN دارد، WHM و SSH را فقط به همان محدوده‌ها محدود کنید.

در WHM می‌توانید از مسیر زیر استفاده کنید:

WHM > Security Center > Host Access Control

نمونه سیاست منطقی:

  • اجازه دسترسی WHM فقط از IPهای دفتر، VPN یا مدیران
  • اجازه SSH فقط از IPهای مدیریتی
  • باز گذاشتن پورت‌های وب فقط برای عموم کاربران
  • ثبت و مستندسازی همه IPهای whitelist شده

اگر IP ثابت ندارید، استفاده از VPN مدیریتی یا Bastion Host می‌تواند راهکار حرفه‌ای‌تری باشد.

۹. پورت‌های غیرضروری را ببندید

هر پورت باز، یک سطح حمله جدید است. روی سرور cPanel فقط پورت‌هایی را باز بگذارید که واقعاً برای سرویس‌دهی لازم هستند.

برای مشاهده پورت‌های listen شده:

ss -tulpn

یا:

netstat -tulpn

پیشنهادها:

  • Telnet را هرگز باز نگذارید.
  • FTP ناامن را با SFTP یا FTPS جایگزین کنید.
  • پورت دیتابیس MySQL را برای اینترنت عمومی باز نکنید، مگر با محدودیت بسیار دقیق.
  • پورت‌های پنل مدیریتی را به IPهای مورد اعتماد محدود کنید.
  • سرویس‌های غیرضروری سیستم‌عامل را غیرفعال کنید.

برای سرورهایی که فقط میزبانی وب انجام می‌دهند، باز بودن پورت‌های غیرمرتبط مثل سرویس‌های توسعه، دیتابیس عمومی یا ابزارهای debug می‌تواند خطرناک باشد.

۱۰. ModSecurity و OWASP CRS را فعال و تنظیم کنید

ModSecurity یک Web Application Firewall یا WAF است که درخواست‌های HTTP را قبل از رسیدن به اپلیکیشن بررسی می‌کند. ترکیب ModSecurity با OWASP Core Rule Set می‌تواند جلوی بسیاری از حملات رایج مثل SQL Injection، XSS، Path Traversal و payloadهای مشکوک را بگیرد.

در WHM مسیر کلی:

WHM > Security Center > ModSecurity Configuration

پیشنهادها:

  • ModSecurity را برای همه دامنه‌ها فعال کنید.
  • از Rule Set معتبر مثل OWASP CRS استفاده کنید.
  • False Positiveها را با دقت tune کنید، نه اینکه کل WAF را غیرفعال کنید.
  • برای مسیرهای حساس مثل wp-login.php و xmlrpc.php قوانین سخت‌گیرانه‌تر بگذارید.
  • لاگ‌های ModSecurity را مرتب بررسی کنید.

نکته مهم: ModSecurity ممکن است گاهی درخواست‌های سالم را هم مسدود کند. در این حالت، راه درست این نیست که کل Rule ID را برای کل سرور خاموش کنید؛ بهتر است استثناها را تا حد امکان محدود به دامنه، مسیر یا پارامتر مشخص تعریف کنید.

۱۱. اسکن بدافزار و آنتی‌ویروس سرور را جدی بگیرید

در سرورهای cPanel، بخش زیادی از آلودگی‌ها از طریق وردپرس، افزونه‌های قدیمی، قالب‌های نال‌شده، فایل‌منیجر، FTP لو رفته یا فرم‌های آپلود رخ می‌دهد. بنابراین اسکن بدافزار باید بخشی از برنامه امنیتی شما باشد.

ابزارهای رایج:

  • Imunify360 برای محافظت چندلایه، WAF، Malware Scanner و Proactive Defense
  • ClamAV برای اسکن پایه فایل‌ها و ایمیل‌ها
  • ابزارهای امنیتی وردپرس برای تشخیص تغییر فایل‌ها
  • اسکن اختصاصی مسیرهای upload و tmp

چک‌لیست اسکن:

  • اسکن روزانه home directoryها
  • اسکن مسیرهای public_html و wp-content/uploads
  • اسکن فایل‌های بکاپ قبل از restore
  • اسکن mailboxes در صورت گزارش اسپم یا فیشینگ
  • بررسی فایل‌های PHP مشکوک در مسیرهای upload

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

۱۲. تنظیمات PHP را برای امنیت سخت‌گیرانه‌تر کنید

بسیاری از نفوذها پس از پیدا شدن آسیب‌پذیری در یک سایت PHP، به اجرای دستورات سیستمی، آپلود shell یا خواندن فایل‌های سایر مسیرها منجر می‌شوند. تنظیمات PHP می‌تواند این ریسک را کاهش دهد.

موارد پیشنهادی:

  • غیرفعال کردن functionهای خطرناک مثل exec، shell_exec، system، passthru، proc_open و popen برای اکانت‌هایی که نیاز ندارند
  • محدود کردن upload_max_filesize و post_max_size
  • فعال‌سازی open_basedir یا ایزوله‌سازی معادل در صورت سازگاری
  • اجرای PHP به نام کاربر همان اکانت، نه یک کاربر مشترک
  • استفاده از PHP-FPM per account در محیط‌های مناسب
  • حذف نسخه‌های قدیمی PHP که دیگر پشتیبانی نمی‌شوند

برای سایت‌هایی که روی بهترین هاست وردپرس یا خرید هاست ووکامرس میزبانی می‌شوند، سازگاری تنظیمات PHP با افزونه‌ها و قالب‌ها هم مهم است. سخت‌گیری امنیتی باید با تست عملکرد سایت همراه باشد.

۱۳. ایزوله‌سازی کاربران و سطح دسترسی فایل‌ها را بررسی کنید

در سرورهای اشتراکی، یکی از خطرناک‌ترین سناریوها این است که آلودگی یک اکانت بتواند به فایل‌های اکانت‌های دیگر دسترسی پیدا کند. برای جلوگیری از این مشکل، باید isolation بین کاربران جدی گرفته شود.

راهکارهای مهم:

  • استفاده از CloudLinux و CageFS برای ایزوله‌سازی کاربران
  • فعال‌سازی FileProtect در cPanel در صورت نیاز
  • تنظیم درست permission فایل‌ها و پوشه‌ها
  • اجرای PHP تحت همان user اکانت
  • جلوگیری از shared writable directories بین کاربران
  • بررسی فایل‌هایی با permission خطرناک مثل 777

سطح دسترسی پیشنهادی عمومی:

Directories: 755
Files: 644
Sensitive config files: 600 or stricter when possible

البته مقدار دقیق ممکن است بسته به PHP handler، نوع اپلیکیشن و ساختار هاست متفاوت باشد.

۱۴. پارتیشن tmp را امن کنید

مسیرهای موقت مثل /tmp و /var/tmp در بسیاری از حملات برای ذخیره payload یا اجرای فایل‌های موقت استفاده می‌شوند. امن‌سازی tmp می‌تواند جلوی بخشی از سوءاستفاده‌ها را بگیرد.

cPanel اسکریپت مخصوصی برای امن‌سازی tmp دارد:

/usr/local/cpanel/scripts/securetmp

برای مشاهده راهنما:

/usr/local/cpanel/scripts/securetmp --help

پیشنهادها:

  • برای tmp پارتیشن یا mount جداگانه در نظر بگیرید.
  • گزینه‌های noexec، nosuid و nodev را در صورت سازگاری بررسی کنید.
  • فایل‌های مشکوک در tmp را مانیتور کنید.
  • مراقب باشید بعضی اپلیکیشن‌ها ممکن است به اجرای فایل در tmp نیاز داشته باشند؛ قبل از اعمال در production تست کنید.

۱۵. دسترسی کاربران عادی به Compilerها را محدود کنید

وجود compilerهایی مثل gcc برای همه کاربران یک سرور اشتراکی می‌تواند ریسک را افزایش دهد. اگر مهاجم به یک اکانت محدود دسترسی پیدا کند، ممکن است بتواند ابزارهای مخرب را روی همان سرور compile و اجرا کند.

در WHM مسیر کلی:

WHM > Security Center > Compiler Access

پیشنهادها:

  • دسترسی compiler را برای کاربران غیرمجاز غیرفعال کنید.
  • فقط در صورت نیاز واقعی و موقت، دسترسی بدهید.
  • بعد از پایان کار توسعه یا نصب، دسترسی را دوباره ببندید.
  • لاگ استفاده از compilerها را بررسی کنید.

برای سرورهای هاست اشتراکی، فعال بودن compiler برای همه کاربران معمولاً ضرورتی ندارد.

۱۶. SSL و TLS را برای WHM، cPanel، Webmail و سایت‌ها اجباری کنید

ارتباط با WHM، cPanel، Webmail و سایت‌ها باید از طریق HTTPS انجام شود. ارسال رمزهای مدیریتی یا ایمیل از طریق ارتباط ناامن قابل قبول نیست.

در WHM این موارد را بررسی کنید:

WHM > Tweak Settings > Require SSL for cPanel Services
WHM > SSL/TLS > Manage AutoSSL

پیشنهادها:

  • Require SSL برای سرویس‌های cPanel را فعال کنید.
  • AutoSSL را برای دامنه‌ها فعال کنید.
  • TLS 1.0 و TLS 1.1 را غیرفعال کنید.
  • فقط TLS 1.2 و TLS 1.3 را مجاز کنید.
  • گواهی‌های SSL منقضی‌شده را مانیتور کنید.
  • از redirect درست HTTP به HTTPS برای سایت‌ها استفاده کنید.

برای آشنایی بیشتر با SSL، مقاله SSL چیست؟ و صفحه خرید SSL را ببینید. اگر برای سایت‌های مشتریان سرویس میزبانی ارائه می‌کنید، وجود SSL معتبر روی خرید هاست اشتراکی و سرویس‌های فروشگاهی ضروری است.

۱۷. امنیت ایمیل، SPF، DKIM و DMARC را تنظیم کنید

سرورهای cPanel معمولاً سرویس ایمیل هم ارائه می‌دهند. اگر امنیت ایمیل ضعیف باشد، ممکن است اکانت‌ها هک شوند، اسپم ارسال شود، IP سرور در بلک‌لیست قرار بگیرد و ایمیل‌های سالم مشتریان هم به مقصد نرسد.

چک‌لیست امنیت ایمیل:

  • رمزهای قوی برای همه اکانت‌های ایمیل
  • محدودیت ارسال ساعتی یا روزانه برای اکانت‌ها
  • فعال‌سازی SPF و DKIM از Email Deliverability در cPanel
  • تعریف DMARC برای دامنه‌های مهم
  • غیرفعال کردن پروتکل‌های ناامن در صورت امکان
  • مانیتور کردن mail queue و ارسال‌های غیرعادی
  • اسکن attachmentها و ایمیل‌های مشکوک

برای مطالعه بیشتر درباره ارتباط DNS و ایمیل، مقاله DNS و ایمیل و مقاله ایمیل سازمانی چیست؟ را بخوانید.

۱۸. امنیت وردپرس و CMSهای کاربران را فراموش نکنید

در بسیاری از سرورهای cPanel، نفوذ از خود WHM شروع نمی‌شود؛ از یک سایت وردپرسی قدیمی، افزونه نال‌شده یا رمز ضعیف مدیر وردپرس شروع می‌شود. بعد از آن مهاجم از همان اکانت برای ارسال اسپم، آپلود shell یا آلوده‌سازی فایل‌ها استفاده می‌کند.

برای امنیت وردپرس روی سرور cPanel:

  • WordPress Toolkit را برای بررسی امنیت و آپدیت‌ها فعال کنید.
  • افزونه‌ها و قالب‌های نال‌شده را حذف کنید.
  • هسته وردپرس، قالب و افزونه‌ها را به‌روز نگه دارید.
  • wp-login.php و xmlrpc.php را در سایت‌های حساس محدود کنید.
  • سطح دسترسی فایل‌ها را بررسی کنید.
  • فایل‌های PHP در مسیر uploads را شناسایی و محدود کنید.
  • برای سایت‌های فروشگاهی، لاگ ورود و تغییرات مدیران را مانیتور کنید.

برای سایت‌های وردپرسی، استفاده از هاست وردپرس آلمان یا خرید هاست وردپرس ایران زمانی ارزشمند است که تنظیمات امنیتی، بکاپ، منابع و پشتیبانی هم متناسب با وردپرس باشد.

۱۹. بکاپ‌گیری منظم و قابل بازیابی داشته باشید

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

چک‌لیست بکاپ:

  • بکاپ روزانه یا متناسب با حساسیت داده‌ها
  • نگهداری بکاپ خارج از همان سرور
  • تست دوره‌ای restore
  • نگهداری چند نسخه در بازه‌های زمانی مختلف
  • اسکن بکاپ‌ها قبل از restore برای جلوگیری از بازگردانی آلودگی
  • رمزنگاری بکاپ‌های حساس
  • مانیتور کردن موفق یا ناموفق بودن بکاپ‌ها

بکاپی که restore نشده و تست نشده باشد، فقط یک امید است؛ نه یک برنامه بازیابی. اگر به‌عنوان ارائه‌دهنده نمایندگی هاست لینوکس فعالیت می‌کنید، سیاست بکاپ باید شفاف، قابل اعتماد و مستند باشد.

۲۰. لاگ‌ها، هشدارها و مانیتورینگ امنیتی را فعال کنید

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

موارد قابل مانیتور:

  • لاگ SSH
  • لاگ cPHulk
  • لاگ CSF/LFD
  • لاگ ModSecurity
  • mail queue و mail log
  • تغییر فایل‌های حساس
  • مصرف CPU، RAM، Disk و I/O
  • تعداد پردازش‌های مشکوک

دستورهای مفید:

tail -f /var/log/secure
tail -f /usr/local/cpanel/logs/access_log
tail -f /usr/local/cpanel/logs/login_log
tail -f /var/log/exim_mainlog

برای مانیتورینگ حرفه‌ای می‌توانید از ابزارهایی مثل Zabbix، Netdata، Grafana، Imunify360، CSF/LFD alerts یا سیستم‌های SIEM استفاده کنید.

۲۱. از Security Advisor در WHM استفاده کنید

WHM یک ابزار داخلی به نام Security Advisor دارد که برخی تنظیمات امنیتی سرور را بررسی و پیشنهادهایی برای بهبود ارائه می‌کند.

مسیر:

WHM > Security Center > Security Advisor

این ابزار جایگزین audit امنیتی کامل نیست، اما برای شروع و بررسی موارد پایه بسیار مفید است. پیشنهاد می‌شود بعد از نصب سرور، بعد از هر تغییر مهم و به‌صورت دوره‌ای Security Advisor را اجرا کنید.

مواردی که معمولاً بررسی می‌شود شامل وضعیت آپدیت، تنظیمات امنیتی، SSL، سرویس‌ها، رمزها و برخی هشدارهای سطح سیستم است.

۲۲. برنامه واکنش به رخداد امنیتی داشته باشید

حتی با بهترین تنظیمات، احتمال رخداد امنیتی صفر نیست. چیزی که یک مدیر حرفه‌ای را متمایز می‌کند، داشتن برنامه واکنش به رخداد است.

اگر سرور cPanel مشکوک به نفوذ شد:

  1. شتاب‌زده همه چیز را حذف نکنید؛ ابتدا شواهد را حفظ کنید.
  2. اکانت یا دامنه آلوده را موقتاً محدود کنید.
  3. لاگ‌های مربوطه را ذخیره کنید.
  4. فایل‌های تغییرکرده اخیر را بررسی کنید.
  5. رمزهای cPanel، FTP، ایمیل، دیتابیس و WHM را تغییر دهید.
  6. بدافزارها و shellها را پاکسازی کنید.
  7. آسیب‌پذیری اولیه را پیدا و رفع کنید.
  8. از بکاپ سالم restore کنید، اگر پاکسازی مطمئن نیست.
  9. بعد از پاکسازی، مانیتورینگ سخت‌گیرانه‌تری فعال کنید.

در رخدادهای جدی، فقط حذف فایل مشکوک کافی نیست. باید بدانید مهاجم از کجا وارد شده، چه چیزی تغییر کرده و آیا دسترسی پایداری مثل backdoor باقی گذاشته یا نه.

چک‌لیست سریع امنیت cPanel

بخشاقدام ضروریاولویت
آپدیتفعال‌سازی آپدیت cPanel، WHM، سیستم‌عامل و افزونه‌هاخیلی بالا
WHMرمز قوی، 2FA و محدودسازی IPخیلی بالا
SSHکلید SSH، محدودسازی root، محدودسازی IPخیلی بالا
Brute Forceفعال‌سازی و تنظیم cPHulkخیلی بالا
Firewallتنظیم CSF/LFD و بستن پورت‌های غیرضروریخیلی بالا
WAFفعال‌سازی ModSecurity و OWASP CRSبالا
Malwareاسکن منظم فایل‌ها، uploadها و ایمیل‌هابالا
PHPغیرفعال‌سازی توابع خطرناک و حذف نسخه‌های قدیمی PHPبالا
IsolationCloudLinux/CageFS یا تنظیمات معادل برای جداسازی کاربرانبالا
SSLفعال‌سازی AutoSSL، اجباری کردن HTTPS و حذف TLS قدیمیبالا
EmailSPF، DKIM، DMARC، محدودیت ارسال و مانیتورینگ mail queueبالا
Backupبکاپ خارج از سرور و تست restoreخیلی بالا
Monitoringبررسی لاگ‌ها، هشدارهای LFD و مانیتورینگ منابعبالا

جمع‌بندی

امنیت cPanel و WHM یک تنظیم واحد نیست؛ مجموعه‌ای از اقدامات فنی، مدیریتی و عملیاتی است. برای داشتن یک سرور cPanel امن، باید از سیستم‌عامل و cPanel به‌روز شروع کنید، دسترسی SSH و WHM را محدود کنید، رمزهای قوی و 2FA را اجباری کنید، cPHulk و فایروال را تنظیم کنید، ModSecurity و اسکن بدافزار را فعال کنید و برای همه چیز بکاپ قابل بازیابی داشته باشید.

بخش مهمی از امنیت سرورهای cPanel به سایت‌های کاربران هم مربوط است. وردپرس‌های قدیمی، قالب‌های نال‌شده، افزونه‌های آسیب‌پذیر و رمزهای ضعیف می‌توانند کل IP و اعتبار سرور را تحت تأثیر قرار دهند. بنابراین اگر سرویس خرید هاست اشتراکی، خرید هاست وردپرس ارزان یا نمایندگی هاست ایران ارائه می‌دهید، امنیت باید هم در سطح سرور و هم در سطح اکانت‌ها مدیریت شود.

در نهایت، بهترین رویکرد این است که این چک‌لیست را به‌صورت دوره‌ای اجرا کنید: بعد از نصب سرور، بعد از تغییرات مهم، بعد از آپدیت‌های اصلی، و حداقل ماهی یک‌بار برای audit امنیتی. امنیت cPanel زمانی پایدار می‌ماند که به یک فرآیند دائمی تبدیل شود، نه یک کار مقطعی.

سوالات متداول

مهم‌ترین اقدام برای افزایش امنیت cPanel چیست؟

هیچ اقدام واحدی کافی نیست، اما اگر بخواهیم اولویت‌بندی کنیم، امن‌سازی دسترسی‌ها مهم‌ترین نقطه شروع است: رمزهای قوی، 2FA، محدودسازی WHM و SSH به IPهای مورد اعتماد، فعال‌سازی cPHulk و تنظیم فایروال.

آیا cPHulk برای جلوگیری از Brute Force کافی است؟

cPHulk بسیار مفید است، اما کافی نیست. بهتر است همراه با CSF/LFD، رمزهای قوی، 2FA، محدودسازی IP و مانیتورینگ لاگ‌ها استفاده شود.

آیا تغییر پورت SSH امنیت را کامل می‌کند؟

خیر. تغییر پورت فقط حجم اسکن‌های خودکار را کاهش می‌دهد. امنیت اصلی با کلید SSH، غیرفعال کردن ورود مستقیم root، محدودسازی IP و مانیتورینگ ایجاد می‌شود.

آیا نصب CSF روی سرور cPanel ضروری است؟

ضروری به معنای اجباری نیست، اما در بسیاری از سرورهای cPanel، CSF/LFD یکی از رایج‌ترین و کاربردی‌ترین ابزارها برای مدیریت فایروال، هشدار ورودهای ناموفق و کنترل ترافیک است.

ModSecurity باعث خطای 403 می‌شود؛ باید آن را خاموش کنیم؟

خیر، خاموش کردن کامل ModSecurity معمولاً تصمیم خوبی نیست. بهتر است Rule ID مشکل‌ساز را بررسی کنید و در صورت نیاز، استثنا را فقط برای دامنه، مسیر یا پارامتر مشخص اعمال کنید.

برای امنیت سایت‌های وردپرسی روی cPanel چه کار کنیم؟

وردپرس، قالب و افزونه‌ها را به‌روز نگه دارید، قالب نال‌شده نصب نکنید، از رمز قوی و 2FA استفاده کنید، فایل‌های upload را بررسی کنید، wp-login و xmlrpc را در سایت‌های حساس محدود کنید و بکاپ منظم داشته باشید.

آیا AutoSSL برای همه سایت‌ها کافی است؟

برای بسیاری از سایت‌ها AutoSSL کافی است، اما باید تمدید آن مانیتور شود. سایت‌های شرکتی یا فروشگاهی ممکن است بسته به نیاز اعتماد تجاری، از SSL پولی یا OV/EV استفاده کنند.

هر چند وقت یک‌بار باید سرور cPanel را اسکن کنیم؟

برای سرورهای عمومی و هاست اشتراکی، اسکن روزانه مسیرهای سایت و uploadها توصیه می‌شود. ایمیل‌ها و بکاپ‌های restore شده هم باید متناسب با حجم و حساسیت سرور بررسی شوند.

آیا بکاپ روی همان سرور کافی است؟

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

Security Advisor در WHM کافی است؟

Security Advisor برای بررسی اولیه بسیار مفید است، اما جایگزین hardening کامل، مانیتورینگ، اسکن بدافزار، audit دسترسی‌ها و تست restore بکاپ نیست.