راهکار های افزایش امنیت whmcs با کیمیا هاست : WHMCS یک مدیریت کلی مشتری، راه حل صدور صورت حساب و پشتیبانی برای کسب و کارهای آنلاین است.
WHMCS یک ابزار قدرتمند برای کسب و کار است که به راحتی مشتری های شما را کنترل می کند. با استفاده از Softaculous با نصب آن با یک کلیک با WHMCS شروع کنید.
WHMCS یک سیستم مدیریت خرید و فروش و فروش محصولات مجازی است.اکثراً WHMCS برای شرکت های هاستینگ به کار می رود، اما برای فروش محصولات دیگه هم مورد استفاده قرار میگیرد که امکاناتی نظیر ایجاد فاکتور ، ایجاد درخواست پشتیبانی ، قابلیت Upgrade و Downgrade سرویس توسط کاربر را دارد.
روشهای تأمین امنیت whmcs
۱- انتقال دایرکتورهای “attachments” “downloads” “templates_c”
این سه دایرکتوری در whmcs باید پرمیژن اجرایی write داشته باشند به همین دلیل permission 777 باید برای آنها در نظر گرفته شوند.
با استفاده از تکنیکهای private هکرها میتوانند درون این دایرکتوریهای دسترسیهای مخفی و مخربی همچون شلها آپلود کرده و کنترل کامل سایت شما را در دست بگیرند.
برای افزایش امنیت whmcs در اولین قدم ما با انتقال این سه دایرکتوری به home/ و خارج کردن از روت هاست دسترسی به این دایرکتوریها را مسدود میکنیم تا هکرها به صورت مستقیم به هیچ وجه نتوانند به آن دسترسی داشته باشند.
پس از انتقال کامل آنها به یک دایرکتوری قبلتر برای اینکه whmcs به درستی کار کند باید مسیر جدید آنها را به اسکریپت معرفی کنید. بدین منظور باید درون فایل کانفیگ سه خط کد زیر را قرار دهید و به جای username نام کاربری هاست خود را قرار دهید.
;"/templates_compiledir = "/home/username/templates_c$ ;"/attachments_dir = "/home/username/attachments$ ;"/downloads_dir = "/home/username/downloads$
۲- انتقال دایرکتوری crons
این دایرکتوری به دلیل داشتن فایلهای حساس سینک کردن دامین و پروسهها یکی از جاهایی است که هکر سعی در نفوذ به آن دارد. برای رفع این مشکل و تأمین امنیت این بخش باید به روش قبل این دایرکتوری را به نام دیگری تغییر دهیم.
بعد از تغییر نام دایرکتوری با اضافه کردن خط زیر درون فایل کانفیگی که در دایرکتوری crons قرار دارد آن را از این تغییر مطلع میکنیم.
;'/whmcspath = '/home/username/public_html/whmcs$
حالا باید در فایل کانفیگ اصلی whmcs نیز با قرار دادن کد زیر تغییرات را نهایی کنیم.
;'/crons_dir = '/home/username/whmcs_crons$
به جای username باید نام کاربری هاست خود را وارد کنید.
۳- محدودسازی دسترسی به بخش مدیریت
یکی از روشهای مرسوم حملات هکرها استفاده از روش Bruteforce برای حدس پسورد ادمین whmcs میباشد. در این روش هکر با استفاده از برنامههایی سعی میکند با دادن لیستی از پسوردها در صورتی که رمز عبور شما ضعیف باشد بتوانید پسورد شما را پیدا کرده و به بخش مدیریت دسترسی بگیرد.
برای افزایش امنیت whmcs باید دسترسی به مدیریت را با تغییر نام دایرکتوری و یا با استفاده از محدودسازی دسترسی ارتقا دهیم.
در این روش با وارد شدن به دایرکتوری admin یک فایلی با نام htaccess. بسازید. سپس درون آن قطعه کد زیر را قرار دهید.
order deny,allow allow from 1.2.3.4 deny from all
فقط به جای ۱۲۳۴ باید آی پی ثابت اینترنت خودتان را وارد کنید تا فقط شما بتوانید به این بخش دسترسی داشته باشید.
۴- تغییر نام دایرکتوری admin
برای افزایش بیشتر امنیت میتوانید علاوه بر روش قبلی با تغییر نام دایرکتوری Admin کار را به شدت برای هکرها سخت کنید.
برای این کار کافی است ابتدا با تغییر نام دایرکتوری ادمین با قرار دادن کد زیر درون فایل کانفیگ whmcs مسیر جدید را به اسکریپت بشناسانید.
;"customadminpath = "new_directort_name$
۵- نصب فایروال
همیشه یکی از بهترین روشها برای امنیت لینوکس استفاده از فایروال میباشد. فقط در این روش شما باید دسترسی روت به سرور را داشته باشید و یا خود مدیر سرور باشید.
البته در اکثر میزبانها فایروال به صورت پیشفرض نصب بوده و نیازی نیست شما کاری انجام دهید ولی اگر مدیر سرور هستید میتوانید با نصب فایروال csf امنیت سرور و سایتهای میزبانی شده را افزایش دهید.
۶- تغییر پرمیژن فایل کانفیگ
این فایل یکی از اصلیترین فایلهای اسکریپت است که باید به آن توجه زیادی داشته باشید برای افزایش امنیت whmcs از طریق این فایل میتوانید با کد کردن محتویات داخل آن دسترسی هکر به خواندن اطلاعات حساس آن را غیرممکن کنید.
در بسیاری از مواقع کد شدن این فایل خود باعث بروز مشکلاتی خواهد شد که ما سعی میکنیم یک روش جایگزین برای آن به شما آموزش دهیم که بدون هیچ مشکلی به راحتی میتوانید از آن استفاده کنید.
برای این کار کافی است پرمیژن فایل configuration.php را به ۴۰۰ کاهش دهید چون دسترسی مستقیم به این فایل برای کاربران لازم نبوده و فقط باید whmcs بتوانید اطلاعات آن را بخواند. پس داشتن دسترسی فقط خواندنی برای یوزر هاست کافی خواهد بود.
۷- فعال کردن ssl
استفاده از پروتکل https به جای http یکی از بهترین روشها برای کد کردن اطلاعات ارسالی و دریافتی بین کاربر و سرور میباشد.
استفاده از ssl در تمامی وبسایتها به شدت توصیه شده و فقط مختص whmcs نمیباشد. برای این کار علاوه بر تهیهی ssl باید از طریق مسیر Setup > General Settings در بخش مدیریت این قابلیت را فعال کنید.
۸- محدود کردن دسترسی به دیتابیس
برای افزایش امنیت whmcs یکی دیگر از روشها، محدودسازی پرمیژن های دسترسی کاربر به دیتابیس میباشد. Whmcs برای عملکرد صحیح خود فقط نیاز دارد تا دسترسیهای زیر برای دیتابیس فراهم باشد.
DELETE INSERT SELECT UPDATE LOCK TABLES
حالا با دانستن این موضوع دسترسیهای دیگر را برای افزایش بیشتر امنیت میتوانید با خیال راحت غیرفعال کنید.