افزایش امنیت در مدیریت محتوای جوملا با نوین هاست : قصد ما در این مقاله سعی در قفل و زنجیر کردن سایت است که مسلما کار را برای دوست هکرمان سخت تر میکند . یک نکته هم در رابطه با هکر ها بگم اصولا هکر ها میباید. یا دارای سواد بالایی باشند و یا از سواد نسبی خوبی برخوردار باشند. به همبن دلیل این دسته از افراد اکثرا در استخدام شرکت های امنیتی بزرگ هستند. و حقوق بسیار بالایی هم دارند و قابل احترام هستند .
اما خود هکر ها به ۲ دسته تقسیم میشوند. اصطلاحا هکر های سفید و سیاه که خوب از لقبی هم برای خودشون انتخاب میکنند. مشخصه هر کدام دارای چه خصوصیاتی هستند. البته خود این دسته ها هم به شعب مختلف تقسیم میشه و حتی زبان نگارش مخصوص خودشون هم دارند . خلاصه دنیاییه !
در این مقاله قصد نداریم به این تاریخچه بپردازیم تنها قصد ما افزایش امنیت در مدیریت محتوای جوملا است لذا از این مقال میگذریم .
افزایش امنیت در مدیریت محتوای جوملا
قبل از هر چیز باید بدانید یک هکر میتواند از ۲ طریق کلی سایت شما هک کند:
- از سمت سرور
- از سمت سایت
الف ) حمله از سمت سرور
در این حالت حمله کننده به سرور دسترسی دارد و آنچنان کاری از شما بر نمیاید هر چقدر هم امنیت سایتتان را بالا بررید فایده ای ندارد چرا که حمله کننده اصلا به سایت شما کاری ندارد و به منابع سرور دسترسی دارد . اما یک کار دیگر میتوانید انجام دهید .
۱- اول اینکه سروری انتخاب کنید که قبل هک نشده باشد . برای این انتخاب باید به شنیده های خود اعتماد کنید و یا پاشنه ها را بالا بکشید و شروع کنید به جستجو در سایت هایی که تصاویر هک سایت ها را میگذارند سپس سرور ان ها را پیدا نمایید و ….
۲- در هنگام خرید هاست باید به مواردی که مربوط به تنظیمات سرور است دقت کنید ازجمله به موارد زیر :
۲-۱ قبل از خرید هاست از سرپرست سرور بپرسید که آیا در PHP از su_php استفاده میکنند با خیر ؟ استفاده از این حالت به معنای ان است که فایل های موجود در هاست شما تحت کنترل خود دارنده اکانت که شما باشید میباشد و نیازی به تنظیمات GLOBAL نیست به زبان ساده تر در این حالت سطح دسترسی ۷۵۵ توسط اسکریپت قابل نگارش تشخیص داده میشود و نیازی نیست که شما این سطح دسترسی ها را به ۷۷۷ تغییر دهید . وقتی دسترسی یک پوشه را روی ۷۷۷ قرار میدهید به معنای ان است که محتویات آن را برای عموم آزاد کرده اید !
۲-۲ register_globals در سرور که سایت جوملایی روی آن قرار دارد باید خاموش باشد.
۲-۳ safe_mode در سروری که یک سایت جوملایی بر روی آن قرار دارد باید خاموش باشد.
۲-۴ گزینه allow_url_fopen در سروری که یک سایت جوملایی بر روی آن قرار دارد باید خاموش باشد.
۲-۵ allow_url_include در سروری که یک سایت جوملایی بر روی آن قرار دارد باید خاموش باشد.
۲-۶ گزینه disable_functions در سروری که یک سایت جوملایی روی ان قرار دارد باید فعال باشد.
۲-۷ همین موارد هم باید برای open_basedir صدق میکند منتها اگر سرور از su_php استفاده کرده باشد این گزینه دیگر دارای اهمیت نیست.
۳- یکی دیگر از مواردی که در هنگام خرید هاست باید از سرپرست فنی سرور بپرسید این است که آیا بر روی سرور برنامه های امنیتی مثل آنتی شل نصب است یا خیر ؟ شل ها برنامه های کوچکی هستند به هکر ها قدرت دسترسی به برخی منابع را میدهند . اگر جواب سرپرست سرور بلی بود اسم برنامه را هم بپرسید و در مورد ان تحقیق کنید . هزینه این برنامه برای سرور ها بسیار بالا است و تا ۳۰۰ دلار هم میرسد به همین دلیل برخی سرور ها از این امر غفلت میکنند.
۴- از سرپرست سایتتان بپرسید که آیا برای ورود به phpmyadmin دوباره نام کاربری و رمز عبور پرسیده میشود و یا خیر ؟
این ها حداقل مواردی است که قبل از خرید باید از سرپرست هاستتان بپرسید به دلیل آنکه در این مقاله قصد داریم راه کار ارئه دهیم تا اینکه روش ها را توضیح دهیم به هین دلیل از ذکر مفاهیم بالا خودداری میکنیم و تنها به اینکه این موارد باید در سرور مجازی دارای چه تنظیماتی باشد اکتفا میکنیم . گروه نوین هاست امیدوار است که مدیران سرور ها هم این مقاله را بخوانند تنظیمات سرورهای خود را بهینه نمایند. البته همانطور که عرض شد این ها حداقل ها هستند.
ب) حمله از سمت سایت
این حمله ها به روش های گوناگونی انجام میشود که مهمترین های آن استفاده از
$_POST
$_GET
$_COOKIE
eval()
base64_decode
Allow_url_fopen
فیلتر دستورات SQL
Allow_url_include
میباشد. قبلا در سایت نوین هاست یک پلاگین امنیتی معرفی شده بود که با نصب آن امنیت سایت در مقابل این حملات بالا میرفت این پلاگین را میتوانید دریافت و نصب و فعال کنید . نکته ای که رابطه با این پلاگین بود درج کپی رایتی بود که در پایین سایت قرار داشت برای این که کپی رایت هم بردارید . وارد فایل jhackguard.php شوید و خط
$replacement = “
ایمن شده بوسیله وب سایت نوین هاست https://www.novinhost.org/’>وب سایت نوین هاست”;
را با عبارت زیر جایگزین کنید
$replacement = “”;
به این ترتیب کپی رایت هم حذف میشود دوباره فایل را فشرده نموده و نصب کنید.
بسیار خوب حال که جلوی این حمله ها را گرفتیم میباید وارد مرحله بعدی شویم در این مرحله کارهای دیگری باید انجام دهید که به ترتیب برای شما فهرست شده و اموزش داده میشود.
ب- ۱ ) نام کاربری خود را از admin به نام کاربری دلخواه تغییر دهید
برای این کار از منو بالا مدیریت کاربر را انتخاب نموده و بر روی نام کاربری admin کلیک کنید در صفحه جدید این نام کاربری را به نام دلخواه تغییر داده و ذخیره را فشار دهید.
ب-۲) از رمز های سخت استفاده کنید
رمز خود را سخت انتخاب کنید بدین معنا که حتی المکان از حروف، اعداد و سنبل ها در رمز ورود خود استفاده نمایید.
ب-۳ ) برروی پوشه ادمین خود رمز بگذارید
این کار را براحتی میتوانید هم از طریق پنل هاست خود انجام دهید وارد گزینه Password Protect Directories شوید و نام کاربری و رمز ورود خود را انتخاب نمایید .
ب – ۴ ) تغییر مسیر پوشه ها
شما میتوانید با استفاده از افزونه های جوملا حتی مسیر پوشه administrator را تغییر دهید. به عنوان مثال میتوانید پلاگین مربوط به این کار را با خرید هاست اختصاصی جوملا ی نوین هاست روی سرویس خو داشته باشید.
ب- ۵ ) تغییر پیشوند جداول پیش فرض جوملا
جداول جوملا به صورت پیش فرض در جوملا ۱٫۵ با jos_ شروع میشود. که البته این مشکل در جوملا ۱٫۶ و ۱٫۷ حل شده است اما شما میباید برای امنیت بیشتر این پیشوند را نیز تغییر دهید . برای این کار افزونه لازم را از اینجا دریافت نمایید و مطابق با آموزش داده شده جلو روید .
ب- ۶ ) جوملا خود را بروز نگه دارید
باور کنید یکی از مهمترین نکات در هک نشدن سایت های جوملایی بروز نگه داشتن نشخه جوملا است بارها شده از من سئوال شده که چگونه نسخه بروز رسانی جوملا را نصب کنیم. ( با توجه به اینکه سایت های پشتیبان جوملا معمولا با تاخیر نشخه های بروز رسانی فارسی را منتشر میکنند). بهترین کار این است که به خود سایت joomla.org رفته و بسته بروز رسانی را دانلود نمایید .
از طرفی سایت های وزین ایرانی هم هستند که گرچه با تاخیر یکی دو روزه اما این نسخه ها را منتشر میکنند. که معتبر ترین آن ها جومفا ، گروه مامبو و جوملا دات ای ار است هر سه گروه نسخه های ترجمه شده خوبی از جوملا ۱٫۵ دارند و الالخصوص که جومفا هم توزیع کننده زبان منطقه ای جوملا جهانی برای جوملا ۱٫۵ در این بوده است .
ب- ۷ ) sef سایت خود را فعال نمایید
در مبحث ارتقا سایت جهت موتورهای جستجو مفاهیمی همچون sef و seo مطرح میشود به صورت خلاصه sef اصلاح کننده لینک های یک سایت است . اهمیت این نکته زمانی است. که شما در سایت خود از افزونه های مختلفی استفاده میکنید . ممکن است برخی از افزونه ها دارای حفره های امنیتی باشند اگر sef را در سایت خود فعال ننموده باشید . هکر میتواند در گوگل نام افزونه ای که در سایت شما بکار رفته است را جستجو نماید. براحتی سایت شما را مورد حمله قرار دهد . برای فعال نمودن sef در جوملا کافی است به روت سایت خود رفته (بوسیله فایل منیجر هاست ) و فایل با نام htaccess.txt را نامش را تغییر دهید بدین صورت که txt. را از انتهای آن پاک نموده و در ابتدای آن یک “.” (نقطه) بگذارید.
نکته : زمانی که میخواهید وارد فایل منیجر شوید از شما پرسیده میشود که فایل های مخفی نمایش داده شود و یا خیر htaccess. برای سرور ها فایل مخفی شناخته میشود . به همین دلیل پس از انکه شما این نام را تغییر میدهید ممکن است آن را نبینید که با این کار این مشکل حل میشود.
در گام بعدی وارد مدیریت سایت خود شده و در قسمت تنظیمات اصلی (پیکربندی) از تب سایت از قسمت تنظیمات SEO گزینه ها را بر روی بلی قرار دهید.
در برخی از موارد مشاهده شده که بعضی از سرور ها با فعال نمودن تمامی موارد مشکل دارند. برای همین میتوانید تک به تک گزینه ها را بر روی بلی قرار داده و امتحان کنید.
ب-۸ ) استفاده از htaccess. جهت ارتقا امنیت
این فایل همانطور که از نام آن هویدا است برخی دسترسی ها و .. را به سایت تنظیم مینماید برای اینکه امنیت سایت خود را بالا ببرید. این فایل را باز نمایید و دستورات زیر را در ان وارد کنید .
deny from all
<FilesMatch “index.php”>
allow from all
</FilesMatch>
<FilesMatch “index2.php”>
allow from all
</FilesMatch>
برای اینکه این دستورات در htaccess درست کار کند سرور شما میباید حداقل از PHP 5.2 استفاده نماید. این دستور بدین معنا است که دسترسی خارجی به تمامی فایل ها به غیر از index.php و index2.php بسته باشد . در صورتی که پس از اجرای دستور با مشکلی مواجه شدید میتوانید ان ا حذف کنید اما قائدتا نباید مشکلی وجود داشته باشد
نکته : به این روش میتوانید از فایل های ترجمه شده خود نیز محافظت کنید
ب- ۹ ) افزونه هایی که در سایت خود استفاده مینمایید را همواره بروز نگه دارید
در بحث افزایش امنیت در مدیریت محتوای جوملا ، به عنوان مدیر یک سایت این وظیفه شما است که از بروز بودن افزونه های سایت خود مطمئن باشید. برای این کار میتوانید دائما به سایت های انتشار دهنده این افزونه ها سر بزنید. و از بروز بودن آن ها اطمینان حاصل کنید .و البته بسیاری از افزونه در قسمت مدیریتشان نسخه افزونه را اعلام میکنند
ب- ۱۰ ) افزونه و فایل هایی که استفاده نمیکنید را پاک کنید !
ب- ۱۱ ) طول عمر کش را زیاد نکنید
این گزینه در پیکربندی سایت قرار داد و برخی موارد دیده ام که طول عمر کش را برخی از سایت زیاد میکنند. تا تعداد میهمانان را زیاد نشان دهد . ببینید در پوشه کش جوملا نام کاربری و رمز ورود شما تا زمانی که جلسه کاری به پایان نرسد وجود خواهد داشت . و سیستم شما را وارد شده فرض میکند کافی است هکر به این پوشه و پوشه لاگ دسترسی پیدا کند. و …. (راه استخراج را به دلایل امنیتی ذکر نمیکنیم .)
ب – ۱۲ ) فایل های index.html موجود در پوشه ها را پاک نکنید
این فایل یک صفحه سفید را نمایش میدهد . یعنی اگر کسی مستقیما آدرس یک پوشه را وارد نماید با یک صفحه سفید روبرو میشود . این مورد مخصوصا در پوشه logs , tmp خیلی مهم است.
ب- ۱۳ )اسکن امنیتی سایت
از سایت هایی که سایت شما را به صورت رایگان اسکن میکنند استفاده نمایید .
ب- ۱۴ ) به غیر مواقع لازم از ftp استفاده نکنید
در صورتیکه از سروری که از su_php استفاده مینماید بهره میبرید نیازی به فعال سازی ftp نیست . حال فرض کنید که اینطور نباشد . در صورتی که ftp را فعال نمایید مشخصات ان در فایل config شما ثبت میشود . حال اگر هکر به این فایل دسترسی پیدا کند کل سایت شما در دستان وی خواهد بود . ! به همین دلیل اگر هم مجبور شدید ftp را فعال کنید پس از استفاده ان را غیر فعال ( نام کاربری و رمز عبور آن را عوض کنید )نمایید . گرچه فعال بودن ftp باعث بهبود سرعت سایت شما میشود.
ب- ۱۵ ) فایل config خود را کد کنید
شما میتوانید برای افزایش امنیت در مدیریت محتوای جوملا این فایل را که تمامی مشخصات شما در آن قرار دارد کد نمایید . گرچه کد شکن همه نرم افزار ها موجود است اما باز هم کار را کمی برای هکر سخت میکند. در این مورد بهتر است با سرپرست سرور صحبت نمایید.
این موارد تنها خلاصه ای از مواردی است که باید در سایت های خود بکار ببرید . موارد دیگری از جمله تغییر مکان فایل config و تغییر شناسه admin از ۶۲ به عددی دیگر و … وجود دارد که در مقالات بعدی مفصل در مورد ان ها بحث خواهد شد .