آموزش کامل تامین امنیت whmcs

پس از نصب whmcs و قبل از اقدام به پیکربندی آن نیاز است که یکسری اقدامات جهت تامین امنیت whmcs انجام شود. اینکار موجب می شود تا بتوان بالاترین سطح امنیت whmcs را داشت. انجام این کارها بسیار آسان بوده اما کمک بسیار زیادی به امنیت whmcs می کند. طبق بررسی های انجام شده بسیاری از شرکت های هاستینگ این کارها را انجام نداده اند و به نحوی خود و کاربرانشنان را در معرض آسیب های جدی امنیتی قرار داده اند. از شما عزیزان دعوت می کنیم در ادامه با ما همراه باشید تا با انجام یکسری راهکاری ساده امنیت whmcs خود را بالا ببرید. توجه داشته باشید که این آموزش، ترجمه آموزش تامین امنیت whmcs از سایت اصلی آن است. کاملا معتبر بوده و هیچگونه مورد اضافی در آن وجود ندارد.مشاهده منبع : https://docs.whmcs.com/Further_Security_Steps توجه داشته باشید که قبل از شروع کار توصیه می شود حتما از whmcs خود بصورت کامل بکاپ بگیرید تا در صورت نیاز و بروز مشکل بتوانید آنرا بازگردانی نمایید. مجموعه میزبان فا هیچگونه مسئولیتی در قبال سوء برداشت یا انجام اشتباه آموزشهای زیر نخواهد داشت. تامین امنیت WHMCSهمانطور که گفته شد آموزش های راجع به تامین امنیت whmcs از منبع اصلی ارائه می شود که در زیر به آنها اشاره شده است:امن سازی پوشه های قابل ویرایش whmcsامن سازی فایل پیکربندی configuration.phpانتقال پوشه Crons به ریشه بالاترمحدودسازی دسترسی به آی پی به مسیر مدیریت whmcsتغییر نام مسیر مدیریتی whmcsتنظیم سطح دسترسی های دیتابیس whmcsاستفاده از گواهی امنیتی SSLدر ادامه به تشریح و آموزش موارد فوق خواهیم پرداخت.امن سازی پوشه های قابل ویرایشسه پوشه attachments , downloads , templates_c دایرکتوری های قابل ویرایش هستند. به این معنی که محتوای داخل آنها ممکن است بواسطه هکرها مورد تغییر یا نفوذ قرار گرفته و موجب بروز مشکلات امنیتی شود. دایرکتوری attachments محلی است که پیوست های کاربران در آنجا ذخیره می شود. در نظیر بگیرید که هگ اگر بتواند کدهای آلوده خود را در این مسیر آپلود نماید و آنرا اجرا کند چه مشکل بزرگی ایجاد خواهد شد. با انتقال این پوشه با رده بالاتر، در صورتی که آپلود کدهای آلوده نیز صورت گیرد هکر دسترسی اجرای آنرا نخواهد داشت و به این طریق امنیت حفظ خواهد شد. دایرکتوری های templates_c و downloads نیز چنین حالتی دارند اما با این تفاوت که امکان نفوذ در آنها بواسطه تزریق کدهای SQL مقدور است. پس نتیجه می گیریم که این سه دایرکتوری حتما باید از دسترسی عموم خارج و به ریشه بالا منتقل شوند. برای اینکار می بایست بصورت زیر اقدام نمایید:وارد هاست شده و به مسیر اصلی نصب شده whmcs بروید.سه دایرکتوری attachments , downloads , templates_c را مسیر home منتقل کنید. برای نظم بیشتر می توانید آنها را داخل یک پوشه در home منتقل کنید.فایل configuration.php را باز کرده و کدهای زیر را در آن وارد نمایید.$attachments_dir = “/home/username/attachments/”; $downloads_dir = “/home/username/downloads/”; $templates_compiledir = “/home/username/templates_c/”;بجای username می بایست نام کاربری هاست را وارد نمایید. برای مثال mizbanfa . در اینصورت بصورت زیر خواهد بود:$attachments_dir = “/home/mizbanfa/attachments/”; $downloads_dir = “/home/mizbanfa/downloads/”; $templates_compiledir = “/home/mizbanfa/templates_c/”;همچنین اگر این سه فولدر را در دراخل فولدر دیگری (مثلا my3folder) در مسیر home قرار داده اید باید بصورت زیر ویرایش کنید:$attachments_dir = “/home/mizbanfa/my3folder/attachments/”; $downloads_dir = “/home/mizbanfa/my3folder/downloads/”; $templates_compiledir = “/home/mizbanfa/my3folder/templates_c/”;پس از انجام اینکار اگر whmcs بدون پیغام خطا نمایش داده می شود به این معنی است که کار را به درستی انجام داده اید. در غیر اینصورت اقدامات انجام شده را به دقت بررسی نمایید. در این مواقع معمولا علت این است که ویرایش یا جاگذاری کدها در فایل پیکربندی whmcs به درستی انجام نشده است و می بایست مورد بازبینی قرار گیرد. توجه داشته باشید که سطح دسترسی دایرکتوری های منتقل شده فوق را که 777 است بر روی 755 تنظیم کنید. سطح دسترسی 777 برای کارساز تعاملی قدیمی و منسوخ شده وب سرور است. ممکن است با سطح دسترسی 777 با پیغام خطای Internal Server Error مواجه شوید. امن سازی فایل configuration.phpبرای اینکار کافیست سطح دسترسی فایل configuration.php را بر روی 400 تنظیم نمایید. اگر پیغام خطایی مشاهده کردید که با کارسازهای جدید وب سرور بعید است سطح دسترسی آنرا بر روی 444 یا 440 تنظیم نمایید. همچنین راهکار دیگر که تکمیل کننده تامین امنیت whmcs خواهد بود محدود کردن دسترسی به فایل configuration.php به آی پی است.برای اینکار مقدار زیر را در فایل htaccess وارد نمایید:<Files configuration.php> Order allow, deny Deny from all </Files>توجه داشته باشید که کد فوق بصورت پیشنهاد توسط میزبان فا برای افزایش امنیت whmcs ارائه شده است. در سایت اصلی تنها به تنظیم سطح دسترسی فایل configuration.php اشاره شده است.انتقال پوشه Crons به ریشه بالاتربرای بالا بردن و تامین امنیت whmcs بهتر است فولدر Crons را به ریشه بالاتر منتقل نمایید. برای اینکار بصورت زیر اقدام نمایید:دایرکتوری crons را به ریشه home منتقل نمایید.پس از انتقال، وارد دایرکتوری crons در مسیر home شده و وارد حالت ویرایش فایل config.php شوید.مقدار زیر را در انتهای فایل config.php قرار داده و آن را ذخیره نمایید.$whmcspath = ‘/home/mizbanfa/public_html/’;در واقع با مقدار زیر مسیر نصب whmcs را به Crons مشخص می کنیم. توجه داشته باشید که مسیر را به درستی ثبت نمایید. در ادامه کار می بایست این تغییر را در فایل configuration.php ثبت نماییم. برای اینکار کافیست مقدار زیر را در انتهای کدهای فایل configuration.php وارد کرده و آن را ذخیره نمایید.$crons_dir = ‘/home/mizbanfa/whmcs_crons/’;بجای mizbanfa نام کاربری هاست، بجای whmcs_crons نام دایرکتوری اختیاری که دایرکتوری Crons را در داخل آن در مسیر home منتقل کرده اید را جایگزین نمایید.محدودسازی مسیر مدیریت whmcsدر هاست وارد مسیر admin اتوماسیون whmcs شده و مقادیر زیر را در فایل htaccess آن قرار دهید:order deny,allow allow from 12.34.5.67 allow from 98.76.54.32 deny from allمقادیر 12.34.5.67 و همچنین 98.76.54.32 آی پی های مجاز هستند. اگر آی پی ثابت (استاتیک) دارید می بایست آن را با مقادیر ذکر شده جایگزین نمایید. برای مثال اگر اگر آی پی شما 5.26.68.49 می باشد می بایست بصورت زیر تصحیح نمایید:order deny,allow allow from 5.26.68.49 deny from allاگر آی پی شما متغییر (دینامیک) است می توانید رنج آی پی یا آی پی های خود را وارد نمایید. برای مثال:order deny,allow allow from 5.26. allow from 87.36. deny from allبا ذکر چند مثال سعی بر آن داریم تا مطلب بصورت کامل مطرح شود. اما چنانچه سوال یا ابهامی داشتید می توانید آن را در بخش نظرات مطرح نمایید تا به آن پاسخ دهیم و شما را راهنمایی کنیم.تغییر نام مسیر مدیریت whmcsفولدر admin واقع در مسیر اصلی whmcs را به هر نامی که مایل هستید تغییر دهید. برای مثال vrt48kvb – سپس مقدار زیر را به فایل configuration.php اضافه نمایید:$customadminpath = “vrt48kvb”;تغییر نام فولدر admin در whmcs یکی از اقدامات بسیار مهم و ضروری برای تامین امنیت whmcs است. اما می بایست توجه داشته باشید که در هنگام بروزرسانی می بایست یکسری موارد را رعایت نمایید:بروزرسانی دستی : می بایست نام فولدر بسته بروزرسانی را به مقدار تغییر داد شده تغییر نام دهید.بروزرسانی خودکار : بهتر است قبل از اقدام به بروزرسانی نام فولدر مدیریت whmcs را به admin برگردانید.توجه 1 : پیشنهاد می کنیم برای جلوگیری از بروز مشکلات فنی از بروزرسانی دستی استفاده نمایید.توجه 2 : در صورت تغییر نام و بازگردانی به admin می بایست کد اعمال شده نیز بصورت موقت برداشته شود.تنظیم سطح دسترسی دیتابیس whmcsقبل از انجام اینکار پیشنهاد می کنیم مطلب کنترل سطح دسترسی های دیتابیس را مطالعه نمایید.برای عملکرد عادی که نصب و بروزرسانی انجام نمی شود دسترسی های DELETE , INSERT , SELECT , UPDATE , LOCK TABLES کافی است و نیازی به دسترسی های دیگر نیست. در زمان نصب، بروزرسانی و کارهای عملیاتی نظیر فعالسازی ماژول و … دسترسی های ALTER , CREATE , DROP , INDEX نیز بصورت موقت مورد نیاز خواهد بود. پس از اتمام کار می توانید این دسترسی ها را برداشته و در حالت مورد نیاز قرار دهید. این موضوع موجب خواهد شد دیتابیس WHMCS امنیت بسیار بیشتری داشته باشد.استفاده از گواهی امنیتی SSLپیشنهاد می شود مطالب زیر را مطالعه نمایید:چرا باید از SSL استفاده کنیم؟ تاثیر HTTPS در سئو سایتآموزش نصب و فعال سازی ssl رایگان در سی پنلآموزش نحوه نصب ssl روی وردپرساستفاده از گواهی امنیتی SSL در WHMCS بسیار مهم و ضروری است. در زیر به دلایل آن اشاره شده است:امنیت انتقال اطلاعات کلی کاربران و عوامل مجموعه هاستینگ پوشش داده می شود.موجب بالا رفتن سطح رضایت کاربران شده و موجب بهبود سئو سایت نیز می شود.توصیه های میزبان فا برای تامین امنیت WHMCSبه این موارد در سایت اصلی WHMCS اشاره نشده است ولی بهتر است آنها را رعایت کنیم:پیشنهاد می شود whmcs را در هاست دیگر بواسطه A Record نصب نمایید. پیشنهاد می کنیم آموزش Zone Editor سی پنل را مطالعه نمایید.اینکار موجب می شود تا امنیت اتوماسیون whmcs تحت تاثیر دیگر اسکریپت ها نباشد.همچنین شرایط امنیتی whmcs موجب تاثیر بر دیگر اسکریپت ها نباشد.در صورت ارائه بسته های آپدیت بخصوص پچ های امنیتی بلافاصله WHMCS خود را بروزرسانی کنید. در صورتی که آپدیت ارائه شده پچ امنیتی نیست الزامی به بروزرسانی نخواهد بود.قابلیت Captcha را فعال نمایید تا حملات Brute Force قابل اجرا نشود. برای محیط ورود کاربران می بایست کد captcha بصورت دستی اضافه شود.پیشنهاد می کنیم از قابلیت حفاظت Directory Privacy برای دایرکتوری مدیریت whmcs استفاده نمایید.در هنگام ورود به ناحیه مدیریتی از اینترنت مطمئن و امن استفاده نمایید. به هیچ عنوان از اینترنت اشتراکی، رایگان و با اتصال V.P.N استفاده نکنید.قابلیت Reset Password را برای بخش مدیریتی whmcs در تنظیمات آن غیر فعال نمایید. برداشتن تیک گزینه Setup » General Settings » Security TAB » Disable Admin Password Resetدر انتها اگر سوال، ابهام و یا نظری دارید لطفا آن را در بخش نظرات مطرح نمایید.