wordpress-migration

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

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

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

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

دوستان عزیز آیا قطعات یدکی ماشین وردپرس شما نیز نیاز به بازبینی دارد؟ دوستان نکته ای که در این قسمت وجود دارد این است که افزونه های وردپرس هم همانطور که میبینید بر دو نوع است.اولین مورد افزونه های رایگان و دومین مورد افزونه های غیررایگان.دوستان عزیز در اینجا مورد مهم این است که نکات امنیتی در افزونه های پرمیومی که بابت آنان پول داده میشود , تا چه میزان , استانداردهای کنسرسیوم وب را رعایت کرده و تا چه میزانی به نکات امنیتی در آن بها داده شده است چرا که این مورد اهمیت بسیار زیادی دارد

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

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

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

دوستان معمولا مقداردهی متغیرها توسط نفوذگر برای دور زدن صفحات ورود و تعیین هویت انجام میشود . مفسر PHP به صورت پیش فرض , ثابت هایی مانند GET و POST و گاهی اوقات نیز پارامتر COOKIE را توسط درخواست های Http ارسال میکند . اگر متغیرهایی که توسط این نوع درخواستها مقداردهی میشوند به درستی ارزیابی نشوند , میتوانند زمینه خوبی را برای یک نفوذ بی نقص فراهم آوردند . اجرای آن بدین صورت است که نفوذگر , بدون دانستن رمز عبور ادمین میتواند صفحه تعیین هویت را فریب داده و خود را مدیر سایت معرفی کند و پس از انجام این کار دیگر شما باید با وب سایت وردپرسی خود خداحافظی کنید

دوستان عزیز حال در این جا سوالی که پیش می آید این است که آیا نفوذگر میتواند رمز عبور درست را از میان هزاران رمز دیگر که میتواند روی سیستم شما باشد حدس بزند ؟ این به واقع غیر ممکن به نظر میرسد . چرا ؟ زیرا طراح خوب , رمز عبور را توسط الگوریتم MD5 , هش کرده است و امتحان کردن رمزهای پیاپی نیز کمکی به نفوذگر نمیکند و حتی اسکنرهای قدرتمند Netsparker نیز که مخصوص اسکن web application ها هستند نیز دچار سردرگمی و ارسال اطلاعات اشتباه به نفوذگر میشوند.البته لازم به ذکر است که در این جا کمی در مورد هش سازی در رمز ها توضیحات کوتاهی برای شما دوستان عزیز بدهیم

هش سازی
با نام دیگر درهم سازی یک کنترل یا کلیدواژه‌ی ۱۲۸ بیتی است. هش مانند اثر انگشت عمل می‌کند، با این تفاوت که امکان دارد یک کد یکسان برای دو فایل یا واژه‌ی مختلف وجود داشته باشد که از این قابلیت برای مقایسه استفاده می‌شود؛ به این صورت که برای مقایسه دو فایل به جای مقایسه تمامی محتوای فایلها، کد هش آنها را با هم مقایسه می‌کنیم.اما کاربرد مهم و برجسته‌ی هش در امنیت اطلاعات است که در قسمت بالا یکی از موراد استفاده از آن ها ذکر شد.

دوستان عزیز در ادامه گفته های قسمت قبلی باید توجه کنید که نفوذگر با نوشتن یک کد , و دادن حتی رمز اشتباه و فقط با فهماندن مقدار ۱ به متغیر ادمین میتواند به عنوان مدیر سایت , وارد شود . نفوذگر این کد و اغلب کدهایی را که هدف آن , قبولاندن اطلاعات فیک و جعلی به متغیرهای معیوب است , با استفاده از روش POST و مقداردهی مقادیر به متغیرها , مقادیری را به سمت Login . Php ارسال میکند

حال در این قسمت صفحه Login . Php ابتدا رمز عبور ارسالی را بررسی میکند و به سرعت درمیابد که رمز عبور اشتباه است و متغیر ادمین نیز مقداردهی نمیشود . دوستان عزیز پس از صورت پذیرفتن این کار در وب سایت مقدار متغیر ادمین مورد بررسی قرار میگیرد که برابر با ۱ میشود . زیرا بعد از اجرای کد , exploit.php , در یکی از خطوط به صورت مخفی , متغیری با نام Admin , مقدار ۱ را با خود حمل میکند و این مقدار را به Login . Php میرساند . در صفحه Login . Php نیز , متغیر ادمین بدون توجه به مقدار رمز وارد شده , برابر ۱ میشود و سیستم نیز پیغام Welcome to system را به نفوذگر هدیه میدهد که در این جا نفوذگر خوشحال ترین است

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

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

دوستان عزیز مورد دیگری که میتوان به آن اشاره کرد در قسمت موارد امنیتی وردپرس پیمایش دایرکتوری ها هستند که یکی از خطرناکترین موارد امنیتی در وردپرس و تمام CMS های PHP است . هدف اصلی پیمایش دایرکتوری در این سیستم های مدیریت محتوا فراخوانی و خواندن فایلها و مقادیری است که نفوذگر به صورت عادی از دیدن و خواندن آنها محروم است و نمیتواند آن ها را دیده و بخواند و متوجه آن ها شود . با استفاده از این نوع آسیب پذیریها میتوان به هدف بزرگتری مانند CMD.EXE نیز دست یافت . توابعی که با مقداردهی نامناسب میتوانند بستری مناسب برای این اقدام را ایجاد نمایند , عبارت هستند از : Require و , Require_once و include once و include و Fopen و More که ممکن است شما با این توابع آشنایی مختصری داشته باشید

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

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

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

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

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

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