در آموزش قبل به بررسی نصب WHMCS پرداختیم و توانستیم آن را روی هاست با تنظیمات پیش فرض نصب نمائیم. اما از آنجایی که در WHMCS سه دایکرتوری به نام های attachments، downloads و templates_c وجود دارند که باید سطح دسترسی ۷۷۷ داشته باشند میتوانند موجب سو استفاده هکرها قرار گیرد و از این بابت سامانه شما را دچار چالش نمایند. همچنین بهتر است که این سامانه را با اعمال کارهایی از طریق هاست امن تر نمائید. ما در این آموزش قصد داریم شیوه های تامین امنیت WHMCS از طریق هاست را بیان کنیم.
افزایش امنیت WHMCS از طریق هاست
مراحل تامین امنیت این سامانه به صورت تیتروار عبارت است از:
- تغییر نام پوشه ادمین (آدرس لاگین WHMCS)
- ایجاد پسورد بر روی دایرکتوری لاگین
- ایجاد دایرکتوری دلخواه در root هاست جهت انتقال پوشه های حساس به آن
- ایجاد cron و انتقال دایرکتوری آن به root هاست
- انتقال دایرکتوری های attachments، downloads و templates_c به root هاست
تغییر نام پوشه ادمین (آدرس لاگین WHMCS)
طبیعتا میدانید که مهام برای اجرای حملات خود در اولین قدم به جست و جو برای یافتن صفحه لاگین میپردازد. صفحه لاگین پیش فرض WHMCS نیز admin می باشد و به راحتی قابل یافتن است. به همین دلیل شدیدا توصیه میکنیم آن را به نامی دلخواه و دشوار تغییر دهید. برای این امر نکات زیر را در نظر بگیرید:
- دایرکتوری admin حتما باید در همان مسیری که وجود دارد بافی بماند. بعنوان مثال شما نمیتوانید آن را به root هاست خود منتقل کنید.
- نام جایگزین میتواند شامل کاراکترهای a-z یا ۰-۹ یا کاراکترهای خاص مانند . و ( و… یا ترکیبی از همه این ها باشد.
برای تغییر نام از طریق File Manager وارد مسیر نصب WHMCS شده و اقدام به تغییر نام آن دایرکتوری نمائید:
بعد از انتخاب نام باید فایل configuration.php را باز کنید و نام دایرکتوری تغییر یافته را به صورت زیر در آن وارد نمائید:
1 |
$SDGtsADafhtdfxcB = "mycustomfoldername"; |
ایجاد پسورد بر روی دایرکتوری لاگین
یکی دیگر از اقداماتی که به شدت به تامین امنیت سامانه شما کمک میکند تنظیم پسورد بر روی دایرکتوری لاگین WHMCS می باشد. این ویژگی را شما میتوانید از طریق کنترل پنل هاست خود انجام دهید. برای این کار به محل نصب WHMCS رفته و روی دایرکتوری جایگزین admin راست کلیک کرده و روی گزینه Password Protect کلیک نمائید:
سپس در صفحه باز شده یک نام برای دایرکتوری خود انتخاب نمائید:
سپس نام کاربری مناسب و رمز عبور را برای دایرکتوری مورد نظر خود انتخاب کرده و بر روی Save کلیک نمائید.
حال در صورتی که آدرس زیر را در مرورگر وارد نمائید قبل از مشاهده صفحه لاگین سامانه باید نام کاربری و رمز عبور دیگری نیز وارد نمائید:
1 |
domain.com/my/SDGtsADafhtdfxcB |
ایجاد دایرکتوری دلخواه در root هاست جهت انتقال پوشه های حساس به آن
از این مرحله به بعد نیاز به تغییر دایرکتوری های حساس به root هاست می باشد. پس لازم است یک دایرکتوری در ریشه هاست خود با نامی دلخواه ایجاد کنید. در این مثال ما از نام otherdirs استفاده کرده ایم. برای این منظور در ریشه هاست خود یک دایرکتوری با نام مورد نظر خود ایجاد نمائید:
همانگونه که مشاهده میکنید بخش دوم مقدار ندارد و این موجب میشود که دایرکتوری مورد نظر شما در مسیر root ایجاد شود.
نکته: شما میتوانید این دایرکتوری را ایجاد نکنید و دایرکتوری های در معرض خطر را مستقیما به root هاست منتقل کنید. اما همواره در نظر داشته باشید که در کار میزبانی وب (و اصولا در هر کاری)، نظم حرف اول را میزند. سعی کنید فایل ها و دایرکتوری را با چینشی منظم در کنترل پنل خود قرار دهید تا به علت آشفتگی در سیستم شما باگ ایجاد نشود. حال در ادامه نوبت به ایجاد کرون و انتقال آن به root هاست می باشد.
ایجاد cron و انتقال دایرکتوری آن به root هاست
همانطور که میدانید از کرون برای خودکار سازی فعالیت های WHMCS استفاده میشود. اما ما نحوه ایجاد کرون را در این آموزش آورده ایم که شما را ملزم به رعابت امنیت سامانه خود نمائیم. در این مرحله اگر Cron را فعال نکرده اید میتوانید فعال نمائید. یا اگر هنگام نصب آن را فعال کرده اید باید اطلاعات آن را مطابق آدرس جدید لاگین سامانه خود تغییر دهید.
ابتدا دایرکتوری crons را از مسیر اصلی به root و دایرکتوری ایجاد شده منتقل نمائید:
حال با خیالی آسوده تر کرون را روی کنترل پنل خود ایجاد کنید. برای ایجاد کرون در صفحه اصلی کنترل پنل خود از بخش ADVANCED بر روی گزینه Cron Jobs کلیک نمائید.
در صفحه باز شده کرون جاب خود را ایجاد نمائید. توجه داشته باشید که تنظیمات شما میتواند متفاوت از نمونه ای باشد که در ادامه برای شما آورده ایم. در انتها بر روی گزینه Add New Cron Job کلیک نمائید:
و در ادامه کرون ایجاد شده قابل مشاهده خواهد بود:
در انتها و بعد از انتقال دایرکتوری crons می بایست مسیر آن را به WHMCS معرفی نمائید. برای این کار به داخل پوشه crons رفته و فایل config.php را باز نمائید. سپس مسیر مورد نظر را مانند زیر ویرایش کنید:
1 |
$whmcspath = '/home/username/public_html/my/'; |
همچنین به فایل configuration.php در محل نصب WHMCS رفته و سپس عبارت زیر را وارد میکنیم:
1 |
$crons_dir = '/home/username/otherdirs/crons/'; |
انتقال دایرکتوری های attachments، downloads و templates_c به root هاست
همانطور که در آموزش قبل گفته شد دایرکتوری های attachments، downloads و templates_c باید دارای سطح دسترسی ۷۷۷ باشند. به همین دلیل حتما می بایست به root هاست منتق شوند. با توجه به اینکه دایرکتوری otherdirs را در این آموزش برای انتقال پوشه crons ایجاد کردیم حال برای انتقال این سه دایرکتوری نیز به محل نصب WHMCS رفته و از آن جا این سه پوشه را به دایرکتوری otherdirs منتقل میکنیم:
حال می بایست در فایل configuration.php مسیرها را به روز کنیم. پس آن را ابتدا باز میکنیم و مطابق زیر تغییر میدهیم:
1 2 3 |
$templates_compiledir = '/home/username/otherdirs/templates_c/'; $downloads_dir = '/home/username/otherdirs/downloads/'; $attachments_dir = '/home/username/otherdirs/attachments/'; |
2 دیدگاه
آرمان
سلام خسته نباشید
اون قسمت که تو آموزش گفتید باید به پوشه crons بریم و فایل config.php رو ادیت کنیم یکم گنگ هست الان این خط :
$whmcspath = ‘/home/username/public_html/my/’;
باید اضافه بشه یا باید جایگزین اون خط بالا بشه ؟ و این که فقط به جایه username باید نام کاربری هاست خودمون رو بنویسیم یا باقی مسیر هم باید تغییر کنه ؟
ممنون میشم یکم راهنمایی کنید
با تشکر
ادمین
سلام و عرض ادب
دوست عزیز شما باید به جای username نام کاربری موجود در هاست خود را وارد کنید. طبیعتا هر جایی که مسیردهی وجود دارد باید آدرس ها اصلاح شوند. اما مسیر cron که در config.php و قبل از public_html شما وجود دارد را می بایست باز کرده و مطابق آنچه که در سیستم شما وجود دارد تغییرات صورت بپذیرد. مثلا اگر WHMCS شما در یک ساب دامنه به صورت زیر نصب شده است:
my.website.com
باید به این شکل عمل کنید:
$whmcspath = ‘/home/username/public_html/’;
چون بعد از public_html دیگر ساب دایرکتوری وجود ندارد که شما بخواهید آن را وارد کنید.