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

اسکریپت whmcs یک سیستم حرفه‌ای و جامع مدیریت مشتری است که مخاطبان اصلی استفاده از آن شرکت‌های میزبانی وب هستند.مدیریتی کامل روی فروش، صدور و ارسال فاکتورها، سیستم تیکتینگ پیشرفته و ده‌ها امکانات فوق‌العاده دیگر که باعث شده انتخاب اول شرکت‌های میزبانی وب باشد.این اسکریپت توسط یک کمپانی بزرگ انگلیسی عرضه شده و برای استفاده از آن باید لایسنس تجاری آن را تهیه کنید. البته استفاده از این سیستم قدرتمند در ایران بیشتر به صورت نسخه نال شده است. به جرات می‌توان گفت ۸۰ درصد شرکت‌ها و کسانی که خدمات میزبانی وب ارائه می‌دهند از این اسکریپت استفاده می‌کنند. به همین دلیل تأمین امنیت whmcs باید از اولویت‌های اول استفاده‌کنندگان آن باشد. هکرها با آگاهی از گستردگی استفاده از این سیستم، حملات گسترده‌ای را به سمت این سایت‌ها انجام می‌دهند. اگر شما هم از این اسکریپت استفاده می‌کنید باید سریعاً نسبت به تأمین امنیت whmcs اقدام کنید.روش‌های تأمین امنیت 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 بتوانید اطلاعات آن را بخواند. پس داشتن دسترسی فقط خواندنی برای یوزر هاست کافی خواهد بود.