آخرین نظرات

با سلام.لطفا اگر امکان دارد این افزونه را بروزرسانی فرمایید.با ورژن های جدید دیجی کام و جوملا سازگار...
سلام و وقت بخیر
من فایل جلسه اول رو دیدم و عالی بود.
میخوام در این دوره شرکت کنم که از ادامه دوره ...
درود بر شما
این دوره کاملا رایگان بود و قسمت های بعدی هم در سایت منتشر نمیشود
06
شهریور
1390

آموزش ارتقا امنیت در سایت های جوملایی

آموزش ارتقا امنیت در سایت های جوملایی
(7 رای)

 

راستش هیچ وقت نمیخواستم این مقاله را بنویسم نه به خاطر اینکه نخواهیم این  اطلاعات را به بازدید کنندگان بدهیم بلکه به این خاطر که نمیخواستیم اصلا این بحث را در جومینا باز کنیم و مطلبی در این مورد در جومینا منتشر بشه اما جدیدا مشاهده شده برخی از گروه های خارجی عجیب دارن به سایت های ایرانی حمله میکنند

سطح آموزش  :      
متوسطه
منبع آموزش  : www.joomina.ir
توضیحات     : آموزشهای طراحی وب جومینا براساس نیاز سنجی مدیران جومینا تهیه و منتشر میشود این آموزش ها قالبا  آموزش هایی است که دردنیای مجازی یا نیست و یا کمیاب است . لطفا در صورتی که از آموزش های عمومی جومینا در سایت های دیگر منتشر مینمایید منبع را ذکر نمایید

 

راستش هیچ وقت نمیخواستم این مقاله را بنویسم نه به خاطر اینکه نخواهیم ایم اطلاعات را به بازدید کنندگان بدهیم بلکه به این خاطر که نمیخواستیم اصلا این بحث را در جومینا باز کنیم و مطلبی در این مورد در جومینا منتشر بشه اما جدیدا مشاهده شده برخی از گروه های خارجی عجیب دارن به سایت های ایرانی حمله میکنند در این میان تعجب ما از گروه های داخلی هم هست که دائما سایت های کشور خودشان را مورد حمله قرار میدهند ؟!

خیلی از سایت در حال آسیب دیدن از حمله های هکر ها  هستند. از هکر های خارجی توقع آسیب رساندن به سایت های ایرانی میرود اما از هکر های ایرانی واقعا تعجبه ! جدا از اعتقاد دینی ما مبنی بر برادری هممون از نظر ملی هم این کار را درست نمیدونیم به همین دلیل تصمیم گرفتیم یک مقاله جامع در رابطه با ارتقا امنیت سایت های جوملایی بنویسیم که تقریبا نسخه کاملی از راهکارهای امنیتی برای سایت های جوملایی باشد . ما امیدواریم شما بتوانید از این مقاله استفاده کامل را بررید .

مقدمه :

در همین ابتدا از شما خواهش میکنم هر جایی که میتوانید این مقاله را منتشر نماییدشاید بتوانید به دوستان خود در جاهای دیگر هم کمک کنید . و در دومین کلام به سمعتون میرسانیم که گرچه سعی شده است این مقاله کامل باشد و دید مفیدی از بحث امنیت خصوصا در سایت های جوملایی به شما دهد اما باز هم هیچ کتاب ، مقاله و سایتی نمیتواند ادعا کند که 100% کامل است . به کلامی دیگر هیچ سایتی ایمن نیست منتها ممکن است حمله کننده هنوز راه نفوذ به ان را پیدا ننموده باشد . این موضوع هم ربطی به مدیریت جوملا ، ورد پرس و ... ندارد بلکه تمامی سایت ها حتما راه نفوذی دارند .

قصد ما در این مقاله سعی در قفل و زنجیر کردن سایت است که مسلما کار را برای دوست هکرمان سخت تر میکند . یک نکته هم در رابطه با هکر ها بگم اصولا هکر ها میباید یا دارای سواد بالایی باشند و یا از سواد نسبی خوبی برخوردار باشند به همبن دلیل این دسته از افراد اکثرا در استخدام شرکت های امنیتی بزرگ هستند و حقوق بسیار بالایی هم دارند و قابل احترام هستند اما خود هکر ها به 2 دسته تقسیم میشوند  اصطلاحا هکر های سفید و سیاه که خوب از لقبی هم برای خودشون انتخاب میکنند مشخصه هر کدام دارای چه خصوصیاتی هستند البته خود این دسته ها هم به شعب مختلف تقسیم میشه و حتی زبان نگارش مخصوص خودشون هم دارند . خلاصه دنیاییه ! در این مقاله قصد نداریم به این تاریخچه بپردازیم تنها قصد ما بهبود امنیت است لذا از این مقال میگذریم . قبل از هر چیز باید بدانید یک هکر میتواند از 2 طریق کلی سایت شما هک کند  1- از سمت سرور 2- از سمت سایت

الف ) حمله از سمت سرور

در این حالت حمله کننده به سرور دسترسی دارد و آنچنان کاری از شما بر نمیاید هر چقدر هم امنیت سایتتان را بالا بررید فایده ای ندارد چرا که حمله کننده اصلا به سایت شما کاری ندارد و به منابع سرور دسترسی دارد . اما یک کار دیگر میتوانید انجام دهید .

1- اول اینکه سروری انتخاب کنید که قبل هک نشده باشد . برای این انتخاب باید به شنیده های خود اعتماد کنید و یا پاشنه ها را بالا بکشید و شروع کنید به جستجو در سایت هایی که تصاویر هک سایت ها را میگذارند سپس سرور ان ها را پیدا نمایید و ....

2- در هنگام خرید هاست باید به مواردی که مربوط به تنظیمات سرور است دقت کنید ازجمله به موارد زیر

2-1 قبل از خرید هاست از سرپرست سرور بپرسید که آیا در PHP از su_php استفاده میکنند با خیر ؟ استفاده از این حالت به معنای ان است که فایل های موجود در هاست شما تحت کنترل خود دارنده اکانت که شما باشید میباشد و نیازی به تنظیمات GLOBAL نیست به زبان ساده تر در این حالت سطح دسترسی 755 توسط اسکریپت قابل نگارش تشخیص داده میشود و نیازی نیست که شما این سطح دسترسی ها را به 777 تغییر دهید . وقتی دسترسی یک پوشه را روی 777 قرار میدهید به معنای ان است که محتویات آن را برای عموم آزاد کرده اید !

2-2 register_globals در سرور که سایت جوملایی روی آن قرار دارد باید خاموش باشد

2-3 safe_mode در سروری که یک سایت جوملایی بر روی آن قرار دارد باید خاموش باشد

2-4 گزینه allow_url_fopen  در سروری که یک سایت جوملایی بر روی آن قرار دارد باید خاموش باشد

2-5 allow_url_include در سروری که یک سایت جوملایی بر روی آن قرار دارد باید خاموش باشد

2-6 گزینه disable_functions در سروری که یک سایت جوملایی روی ان قرار دارد باید فعال باشد

2-7 همین موارد هم باید برای open_basedir صدق میکند منتها اگر سرور از su_php استفاده کرده باشد این گزینه دیگر دارای اهمیت نیست

3- یکی دیگر از مواردی که در هنگام خرید هاست باید از سرپرست فنی سرور بپرسید این است که آیا بر روی سرور برنامه های امنیتی مثل آنتی شل نصب است یا خیر ؟ شل ها برنامه های کوچکی هستند به هکر ها قدرت دسترسی به برخی منابع را میدهند . اگر جواب سرپرست سرور بلی بود اسم برنامه را هم بپرسید و در مورد ان تحقیق کنید . هزینه این برنامه برای سرور ها بسیار بالا است و تا 300 دلار هم میرسد به همین دلیل برخی سرور ها از این امر غفلت میکنند

4- از سرپرست سایتتان بپرسید که آیا برای ورود به phpmyadmin دوباره نام کاربری و رمز عبور پرسیده میشود و یا خیر ؟

این ها حداقل مواردی است که قبل از خرید باید از سرپرست هاستتان بپرسید به دلیل آنکه در این مقاله قصد داریم راه کار ارئه دهیم تا اینکه روش ها را توضیح دهیم به هین دلیل از ذکر مفاهیم بالا خودداری میکنیم و تنها به اینکه این موارد باید در سرور دارای چه تنظیماتی باشد اکتفا میکنیم . گروه جومینا امیدوار است که مدیران سرور ها هم این مقاله را بخوانند تنظیمات سرورهای خود را بهینه نمایند. البته همانطور که عرض شد این ها حداقل ها هستند

 

ب) حمله از سمت سایت

این حمله ها به روش های گوناگونی انجام میشود که مهمترین های آن استفاده از

$_POST

$_GET

$_COOKIE

eval()

base64_decode

Allow_url_fopen

فیلتر دستورات SQL

Allow_url_include

میباشد. قبلا در سایت جومینا یک پلاگین امنیتی معرفی شده بود که با نصب آن امنیت سایت در مقابل این حملات بالا میرفت این پلاگین را میتوانید از اینجا دریافت و نصب و فعال کنید . نکته ای که رابطه با این پلاگین بود درج کپی رایتی بود که در پایین سایت قرار داشت برای این که کپی رایت هم بردارید .وارد فایل jhackguard.php شوید و خط

$replacement = "

ایمن شده بوسیله وب سایت جومینا http://www.joomina.ir/'>وب سایت جومینا
";

 

 

را با عبارت زیر جایگزین کنید

$replacement = "";

به این ترتیب کپی رایت هم حذف میشود دوباره فایل را فشرده نموده و نصب کنید

بسیار خوب حال که جلوی این حمله ها را گرفتیم میباید وارد مرحله بعدی شویم  در این مرحله کارهای دیگری باید انجام دهید که به ترتیب برای شما فهرست شده و اموزش داده میشود

ب- 1 ) نام کاربری خود را از admin به نام کاربری دلخواه تغییر دهید

برای این کار از منو بالا مدیریت کاربر را انتخاب نموده و بر روی نام کاربری admin کلیک کنید در صفحه جدید این نام کاربری را به نام دلخواه تغییر داده و ذخیره را فشار دهید

ب-2) از رمز های سخت استفاده کنید

رمز خود را سخت انتخاب کنید بدین معنا که حتی المکان از حروف، اعداد و سنبل ها در رمز ورود خود استفاده نمایید

ب-3 ) برروی پوشه ادمین خود رمز بگذارید

این کار را براحتی میتوانید هم از طریق پنل هاست خود انجام دهید وارد گزینه  Password Protect Directories شوید و نام کاربری و رمز ورود خود را انتخاب نمایید .

ب - 4 ) شما میتوانید با استفاده از افزونه های جوملا حتی مسیر پوشه administrator را تغییر دهید به عنوان مثال میتوانید پلاگین مربوط به این کار را از اینجا در یافت و نصب نمایید.

ب- 5 ) تغییر پیشوند جداول پیش فرض جوملا

جداول جوملا به صورت پیش فرض در جوملا 1.5 با jos_ شروع میشود که البته این مشکل در جوملا 1.6 و 1.7 حل شده است اما شما میباید برای امنیت بیشتر اینیشوند را نیز تغییر دهید برا این کار افزونه لازم را از اینجا دریافت نمایید و مطابق با آموزش داده شده جلو روید .

ب- 6 ) جوملا خود را بروز نگه دارید

باور کنید یکی از مهمترین نکات در هک نشدن سایت های جوملایی بروز نگه داشتن نشخه جوملا است بارها شده از من سئوال شده که چگونه نسخه بروز رسانی جوملا را نصب کنیم ( با توجه به اینکه سایت های پشتیبان جوملا معمولا با تاخیر نشخه های بروز رسانی فارسی را منتشر میکنند) بهترین کار این است که به خود سایت joomla.org رفته و بسته بروز رسانی را دانلود نمایید . از طرفی سایت های وزین ایرانی هم هستند که گرچه با تاخیر یکی دو روزه اما این نسخه ها را منتشر میکنند که معتبر ترین آن ها جومفا ، گروه مامبو و جوملا دات ای ار است هر سه گروه نسخه های ترجمه شده خوبی از جوملا 1.5 دارند و الالخصوص که جومفا هم توزیع کننده  زبان منطقه ای جوملا جهانی برای جوملا 1.5 در این بوده است .

ب- 7 ) sef سایت خود را فعال نمایید

در مبحث ارتقا سایت جهت موتورهای جستجو مفاهیمی همچون sef و seo مطرح میشود به صورت خلاصه sef اصلاح کننده لینک های یک سایت است . اهمیت این نکته زمانی است که شما در سایت خود از افزونه های مختلفی استفاده میکنید . ممکن است برخی از افزونه ها دارای حفره های امنیتی باشند اگر sef را در سایت خود فعال ننموده باشید هکر میتواند در گوگل نام افزونه ای که در سایت شما بکار رفته است را جستجو نماید براحتی سایت شما را مورد حمله قرار دهد . برای فعال نمودن sef در جوملا کافی است به روت سایت خود رفته (بوسیله فایل منیجر هاست ) و فایل با نام htaccess.txt را نامش را تغییر دهید بدین صورت که txt. را از انتهای آن پاک نموده و در ابتدای آن یک "." (نقطه) بگذارید.

نکته : زمانی که میخواهید وارد فایل منیجر شوید از شما پرسیده میشود که فایل های مخفی نمایش داده شود و یا خیر htaccess. برای سرور ها فایل مخفی شناخته میشود به همین دلیل پس از انکه شما این نام را تغییر میدهید ممکن است آن را نبینید که با این کار این مشکل حل میشود

در گام بعدی وارد مدیریت سایت خود شده و در قسمت تنظیمات اصلی (پیکربندی) از تب سایت از قسمت تنظیمات SEO گزینه ها را بر روی بلی قرار دهید

در برخی از موارد مشاهده شده که بعضی از سرور ها با فعال نمودن تمامی موارد مشکل دارند برای همین میتوانید تک به تک گزینه ها را بر روی بلی قرار داده و امتحان کنید

ب-8 ) استفاده از 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 بسته باشد . در صورتی که پس از اجرای دستور با مشکلی مواجه شدید میتوانید ان ا حذف کنید اما قائدتا نباید مشکلی وجود داشته باشد

نکته : به این روش میتوانید از فایل های ترجمه شده خود نیز محافظت کنید

ب- 9 ) افزونه هایی که در سایت خود استفاده مینمایید را همواره بروز نگه دارید

به عنوان مدیر یک سایت این وظیفه شما است که از بروز بودن افزونه های سایت خود مطمئن باشید برای این کار میتوانید دائما به سایت های انتشار دهنده این افزونه ها سر بزنید و از بروز بودن آن ها اطمینان حاصل کنید .و البته بسیاری از افزونه در قسمت مدیریتشان نسخه افزونه را اعلام میکنند

ب- 10 ) افزونه و فایل هایی که استفاده نمیکنید را پاک کنید !

ب- 11 ) طول عمر کش را زیاد نکنید این گزینه در پیکربندی سایت قرار داد و برخی موارد دیده ام که طول عمر کش را برخی از سایت زیاد میکنند تا تعداد میهمانان را زیاد نشان دهد . ببینید در پوشه کش جوملا نام کاربری و رمز ورود شما تا زمانی که جلسه کاری به پایان نرسد وجود خواهد داشت و سیستم شما را وارد شده فرض میکند کافی است هکر به این پوشه و پوشه لاگ دسترسی پیدا کند و .... (راه استخراج را به دلایل امنیتی ذکر نمیکنیم )

ب - 12 ) فایل های index.html موجود در پوشه ها را پاک نکنید

این فایل یک صفحه سفید را نمایش میدهد یعنی اگر کسی مستقیما آدرس یک پوشه را وارد نماید با یک صفحه سفید روبرو میشود . این مورد مخصوصا در پوشه logs , tmp خیلی مهم است

ب- 13 ) از سایت هایی که سایت شما را به صورت رایگان اسکن میکنند استفاده نمایید نمونه این سایت ها را میتوانید از اینجا ببینید

ب- 14 ) به غیر مواقع لازم از ftp استفاده نکنید

در صورتیکه از سروری که از  su_php استفاده مینماید بهره میبرید نیازی به فعال سازی ftp نیست . حال فرض کنید که اینطور نباشد . در صورتی که ftp را فعال نمایید مشخصات ان در فایل config شما ثبت میشود حال اگر هکر به این فایل دسترسی پیدا کند کل سایت شما در دستان وی خواهد بود ! به همین دلیل اگر هم مجبور شدید ftp را فعال کنید پس از استفاده ان را غیر فعال ( نام کاربری و رمز عبور آن را عوض کنید )نمایید . گرچه فعال بودن ftp باعث بهبود سرعت سایت شما میشود.

ب- 15 ) فایل config خود را کد کنید

شما میتوانید این فایل را که تمامی مشخصات شما در آن قرار دارد کد نمایید گرچه کد شکن همه نرم افزار ها موجود است اما باز هم کار را کمی برای هکر سخت میکند در این مورد بهتر است با سرپرست سرور صحبت نمایید

 

این موارد تنها خلاصه ای از مواردی است که باید در سایت های خود بکار ببرید . موارد دیگری از جمله تغییر مکان فایل config و تغییر شناسه admin از 62 به عددی دیگر و ... وجود دارد که در مقالات بعدی مفصل در مورد ان ها بحث خواهد شد .

در همین رابطه گروه جومینا تصمیم دارد تا مقالات تکمیلی نیز منتشرنماید . لذا از تمامی علاقمندان دعوت میشود تا در صورتی که مورادی هرچند مختصر و مهم به نظرشان میرسد برای ما ارسال نمایند تا به نام خود انها در جومینا منتشر شود . منتظر سایر مقالات در رابطه با امنیت مبحث مهمی که خود ما نیز در ارتقا دانش بازدید کنندگان سایت در این رابطه غفلت کرده ایم باشید . همانطور که در ابتدای این مقاله عرض شد ما هیچ گاه نمیخواستیم وارد این بحث شویم و تنها فشاری که برخی از هکر ها خصوصا  هکر های خارج از میهن عزیزمان بر سایت های ایرانی میاورند ما را وادار به ورود در این مبحث نموده است . ممکن است برای یک هکر، هک یک سایت بازی با کدها و حل یک معما جالب باشد اما برای دارنده سایت ممکن است به از بین رفتن آبروی وی ختم شود . گرچه همواره گفته ایم  هر سایتی ممکن است هک شود  و در دنیای نت این امری عادی است .

حال که گروه های امنیتی ایران در حالی که مورد تحریم زشت اطلاعاتی و علمی قرار گرفته ایم گوی سبقت را از سایر رقبا ربوده اند ( گروه آشیانه ) و در دنیایی که تکنولوژی حرف اول را میزند این دوستان توانسته اند مقام بیاورند چرا ما که مدیران سایت های ایرانی هستیم در صدد ایمن کردن سایت های خود بر نیاییم تا زحمات شبانه روزیمان یک شبه از بین نرود ؟

 

با تشکر

گروه جومینا

 

 

 

 

از شما استدعا داریم که مشکلات خود را در رابطه با کارکرد افزونه ها در انجمن پشتیبانی جومینا مطرح نمایید . قسمت نظرات سایت صرفا جهت دریافت نظرات شما عزیزان در راستای بهبود عملکرد سایت در نظر گرفته شده است

مجموع رتبه (0)

0 از 5 ستاره
لطفا برای ثبت نظر خود وارد شوید
  • مطلب مفیدی بود. دوتا سوال
    1- مواردی که گفتید داخل سرور بررسی بشه ممکنه مسئول سرور همینطوری بگه فعاله یا فعال نیست چطوری باید بررسی کنیم؟
    2- هاست قبلی سایت ما توسط شخصی به نام **** هک شد بعد گفتند مشکل حل شده با وجود تغییر هاست و سرور همه جای سایت اثراتی از این شخص هست. مثلا دیدم از سایتی به نام ****** قصد دسترسی به فایل **** را داشته شما گفتید کد اضافه شده به htaccess این فایل رو آزاد میذاره مشکلی تو این زمینه پیدا نمیشه؟

    پنج شنبه 09 ارديبهشت 1395 - حدود 8 سال قبل
  • در پاسخ به: علی

    با سلام
    یک فایل درست کنید به نام test.php و در داخل اون این دستور را نبوسید
    <?php echo phpinfo() ؟>
    اگر هاست دسترسی را نبسته باشه میتوانید موارد و تنظیمات php را با اجرای فایل بررسی کنید

    جمعه 10 ارديبهشت 1395 - حدود 8 سال قبل
  • مقاله جالب و بسیار مفید می باشد . برای این حقیر بسیار سودمند بود . به همین جهت از نویسنده و کلیه دست اندرکاران این سایت تشکر می کنم

    یکشنبه 27 ارديبهشت 1394 - حدود 9 سال قبل
  • مهمان - علیرضا ایلانلو

    عالی !!!!!!!!!سلام عرض می کنم امیدوام که در تمامی مراحله زندگی تون موفق وموید باشید . میخواستم اگر میشه این رو بصورت ویدیویی اموزشش رو بگذارید

    پنج شنبه 20 آذر 1393 - حدود 9 سال قبل
  • مهمان - مهدی

    سلام
    واقعا از آموزش خوبتون بسیار تشکر می کنم وسایت شما بهتره امیدوارم باز هم به تر از این هم شه
    با تشکر

    جمعه 29 دی 1391 - حدود 11 سال قبل
  • مهمان - امیررضا تهرانی

    نسخه های جدیدترش اومده که میتونید از لینک زیر دانلود نمایید
    http://www.joomina.ir/joomla-farsi-extensions/joomla-farsi-extension-site-facility/extensions-security.html

    دوشنبه 18 دی 1391 - حدود 11 سال قبل
  • مهمان - حامد موسوی نژاد

    سلام
    لینک افزونه های معرفی شده درون متن مشکل دارند.

    دوشنبه 18 دی 1391 - حدود 11 سال قبل