پیکربندی 1:1 NAT، بهترین شیوه‌های سطح دسترسی اسکریپت‌ها، و معرفی کامل PHP داخلی cPanel

این مقاله نحوه پیکربندی 1:1 NAT در cPanel & WHM، مدیریت IPها و بازسازی فایل cpnat، بهترین شیوه‌های امنیتی برای سطح دسترسی اسکریپت‌ها و جلوگیری از افزایش سطح دسترسی، و همچنین معرفی کامل ماژول‌ها، لودرها و تنظیمات PHP داخلی cPanel را توضیح می‌دهد.

1:1 NAT cPanelScript PermissionSecurity cPanelPHP Modules

~3 دقیقه مطالعه · آخرین به‌روزرسانی ۲۹ بهمن ۱۴۰۴

1. پیکربندی 1:1 NAT در cPanel & WHM


cPanel & WHM هنگام نصب، شبکه NAT را شناسایی کرده و به‌صورت خودکار IPهای خصوصی را به IPهای عمومی نگاشت می‌کند. این فرآیند فقط باید روی نصب تازه انجام شود.


هشدار: هرگز روی سرورهای در حال استفاده (Production) پیکربندی NAT را تغییر ندهید.


نحوه انجام نگاشت IP


سیستم از هر IP محلی یک درخواست به http://myip.cpanel.net/v1.0/ ارسال می‌کند. این سرویس IP عمومی را برمی‌گرداند و سیستم آن را با IP خصوصی نگاشت می‌کند.


نکته مهم: هرگز چند IP خصوصی را به یک IP عمومی نگاشت نکنید.


مدیریت IPها در WHM


  • WHM » IP Functions » Add a New IP Address
  • WHM » IP Functions » Show or Delete Current IP Addresses
  • WHM » IP Functions » IP Migration Wizard

اگر چند IP خصوصی به یک IP عمومی برسند، فقط اولین IP در فایل /var/cpanel/cpnat استفاده می‌شود.


بازسازی فایل cpnat


برای استفاده از سرویس lookup متفاوت:


echo "MYIP=https://ifconfig.me/ip" >> /etc/cpsources.conf
/usr/local/cpanel/scripts/build_cpnat

اگر فایل cpnat حذف یا خراب شد، با همین اسکریپت بازسازی کنید.


برای غیرفعال‌سازی NAT، فایل زیر را حذف کنید:


/var/cpanel/cpnat

2. بهترین شیوه‌ها برای سطح دسترسی اسکریپت‌ها


اجرای اسکریپت‌ها با کاربری غیر از مالک فایل، ریسک امنیتی جدی ایجاد می‌کند. در نسخه 132، سطح دسترسی فایل /etc/trueuserowners محدود شد تا از خواندن آن توسط کاربران دیگر جلوگیری شود.


خطاهای احتمالی


  • CGIهایی که با کاربر nobody اجرا می‌شوند، اطلاعات تماس اشتباه نمایش می‌دهند.
  • در لاگ Apache ممکن است ببینید:
    [SCRIPT-NAME] /etc/trueuserowners is not readable as nobody

چرا نباید اسکریپت را با کاربر دیگر اجرا کرد؟


  • خطر افزایش سطح دسترسی (Privilege Escalation)
  • نیاز به world-readable کردن فایل‌ها
  • عدم سازگاری با استانداردهای امنیتی مدرن

روش صحیح


فقط با کاربر مالک فایل اسکریپت را اجرا کنید. سطح دسترسی پیشنهادی:


chmod 640 filename
chmod 750 directory

رفتار EasyApache 4


EasyApache 4 برنامه‌های Podman و Passenger را با کاربر مالک اجرا می‌کند.


اسکریپت‌های CGI با این هندلرها به‌عنوان کاربر اجرا می‌شوند:


  • suexec
  • ruid2
  • ITK

رفتار PHP:


  • PHP-FPM و Ruid2 همیشه PHP را به‌عنوان کاربر اجرا می‌کنند.
  • suexec فقط با PHP CGI یا lsapi کاربر را حفظ می‌کند.
  • suphp نیاز به suphp + suexec دارد.
  • ITK فقط با PHP-FPM کاربر را حفظ می‌کند.

3. معرفی کامل PHP داخلی cPanel


cPanel & WHM شامل PHP 8.4 و ماژول‌های PEAR، PECL و لودرهای PHP است.


ماژول‌های PHP


ماژول‌های داخلی شامل موارد زیر هستند:


bcmath, bz2, Core, ctype, curl, date, dom, fileinfo, filter, ftp, gd, gettext, hash, iconv, intl, json, ldap, libxml, mbstring, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, random, Reflection, session, SimpleXML, soap, sockets, SPL, sqlite3, standard, sysvsem, sysvshm, tidy, tokenizer, xml, xmlreader, xmlwriter, xsl, zip, zlib


ماژول‌های PEAR و PECL


شامل:


Archive_Tar, Auth_SASL2, Cache, Console_Color, Date, Date_Holidays, File, HTML_Template_IT, HTTP, Log, Mail, MDB2, Net_DNS2, Net_FTP, Net_IMAP, Net_SMTP, Net_Socket, Net_URL, Services_Weather, XML_Parser, XML_RPC, XML_Serializer, XML_SVG


PHP Loaders


  • ioncube
  • sourceguardian

کتابخانه‌های SQL


  • PostgreSQL
  • SQLite

فایل php.ini


مهم: تغییرات مستقیم در php.ini داخلی cPanel ذخیره نمی‌شود. از مسیر زیر استفاده کنید:


WHM » Server Configuration » Tweak Settings » PHP

این فایل با php.ini مربوط به EasyApache 4 متفاوت است.


نتیجه‌گیری


این مقاله پیکربندی 1:1 NAT، بهترین شیوه‌های امنیتی برای سطح دسترسی اسکریپت‌ها و معرفی کامل PHP داخلی cPanel را پوشش می‌دهد. رعایت این موارد باعث افزایش امنیت، پایداری و سازگاری سرور می‌شود.


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل بازیابی اکانت cPanel و انتقال حساب‌ها و تنظیمات برای مدیران سیستم تازه‌کار

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

ادامه

How to Move All cPanel Accounts from One Server to Another

This guide explains how to migrate all cPanel accounts, service configurations, SSL certificates, and the main server IP address from an old source server to a new target server. It covers installation requirements, configuration transfers, account migration, IP reassignment, DNS adjustments, and SSL restoration.

ادامه

آموزش کامل مهاجرت یک وب‌سایت وردپرس از macOS به سرور cPanel & WHM

این مقاله نحوه انتقال یک وب‌سایت وردپرس که روی macOS میزبانی شده است را به یک سرور cPanel & WHM توضیح می‌دهد. شامل خروجی گرفتن از دیتابیس، آپلود فایل‌ها، ایجاد دیتابیس جدید، تنظیم wp-config.php، تغییر URL سایت، و رفع لینک‌ها و تصاویر خراب است.

ادامه

آموزش کامل انتقال دستی یک اکانت بین سرورها در cPanel & WHM

این مقاله نحوه انتقال دستی یک اکانت بین دو سرور را زمانی که حجم اکانت برای ابزارهای انتقال WHM بسیار بزرگ است توضیح می‌دهد. شامل ایجاد دایرکتوری موقت، فشرده‌سازی public_html و لاگ‌ها، انتقال امن با scp، و بازیابی فایل‌ها در سرور جدید است.

ادامه

آموزش کامل مهاجرت دستی داده‌های Horde به Roundcube در cPanel & WHM

این مقاله نحوه مهاجرت دستی تقویم‌ها و مخاطبین Horde به Roundcube را در نسخه‌های 108 تا 118 cPanel & WHM توضیح می‌دهد. شامل مراحل خروجی گرفتن از Horde، انتقال فایل‌ها به مسیرهای صحیح، و وارد کردن داده‌ها در Roundcube با استفاده از افزونه‌های داخلی یا ابزارهای واردسازی است.

ادامه

آموزش کامل مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM

این مقاله نحوه مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM را توضیح می‌دهد. شامل اقدامات قبل از مهاجرت، نصب سرور جدید، انتقال فایل‌ها و دایرکتوری‌ها، بازیابی دیتابیس‌ها، انتقال SSL، و اقدامات پس از مهاجرت است.

ادامه