منو سایت

Memcached چیست و چه تفاوتی با Memcache دارد؟

 تاریخ انتشار :
/
  وبلاگ
Memcached چیست و چه تفاوتی با Memcache دارد؟

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

Memcached چیست؟

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

Memcached چگونه کار می کند؟

همانطور که گفتیم یکی از کاربردهای مهم ممشاد افزایش سرعت است. اما چگونه می توان با ممخشاد سرعت را افزایش داد؟ برای پاسخ به این سوال باید بدانیم ممجد چگونه کار می کند. همه پایگاه های داده اطلاعات را روی هارد دیسک ذخیره می کنند. این هارد دیسک از تکنولوژی قدیمی HDD یا در بهترین حالت از SSD استفاده می کند. اما داده های Memcached در RAM ذخیره می شوند. در این صورت می توانید با سرعت بسیار بالا و در عرض میکروثانیه به اطلاعات دسترسی داشته باشید و این باعث افزایش سرعت با Memcached می شود.

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

افزایش سرعت با Memcahced از یک سو و مدیریت کارآمد حافظه و پشتیبانی API برای اکثر زبان‌های رایج و طراحی ساده و کاربرپسند از سوی دیگر، Memcahced را به گزینه‌ای بسیار محبوب برای توسعه‌دهندگانی تبدیل کرده است که به حافظه پنهان در مقیاس بزرگ و عملکرد چشمگیر نیاز دارند.

اکنون که می دانید Memchached چیست و چه کاربردی دارد، بهتر است با وب سایت های مهمی که از این فناوری در ساختار خود استفاده کرده اند، آشنا شوید.

ممکاشاد چیست؟
ممجد چیست و چگونه کار می کند؟

کدام وب سایت ها از Memcached استفاده می کنند؟

همانطور که احتمالا تا به حال متوجه شده اید، افزایش سرعت با Memxhad یکی از ویژگی های مهمی است که شما را به استفاده از آن وادار می کند. گزارش ها حاکی از آن است که حدود 1200 وب سایت از این فناوری در ساختار خود استفاده کرده اند که برخی از آنها عبارتند از:

  • فیس بوک
  • پینترست
  • اینستاگرام
  • توییتر
  • یودمی
  • Shopify
  • اینستاکارت
  • آرامش

ناگفته نماند که استفاده از ممجد بدون خطر نیست. در ادامه توضیح خواهیم داد که آسیب‌پذیری Memcached چیست و چگونه از آن جلوگیری کنیم.

آسیب پذیری Memcached چیست؟

هفته آخر بهمن ماه 1396 با اخبار داغ حوزه فناوری و اینترنت همراه بود؛ چرا که آژانس رادور گزارشی از آسیب پذیری Memcached بر روی پورت UDP 11211 منتشر کرده است، همین خبر کافی بود تا کارشناسان و به خصوص وب سایت های استفاده کننده از این فناوری به شدت به دنبال پاسخی برای این سوال باشند که آسیب پذیری Memcached چیست و چقدر می تواند بر امنیت وب سایت تاثیر بگذارد؟

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

همچنین جالب است که علت آسیب پذیری Memcached چیست. در ابتدا پروتکل ممکش اصلاً نیازی به اتصال به اینترنت نداشت. به همین دلیل، هیچ کنترل امنیتی دقیقی وجود ندارد. این مسئله باعث شد تا مهاجمان به راحتی به این سیستم نفوذ کنند و با استفاده از پورت 11211 حملات DDoS را انجام دهند.

اکنون که می دانید آسیب پذیری Memcached چیست، خوب است بدانید که چگونه از آن جلوگیری کنید. در زیر به چند راهکار مهم برای این منظور اشاره خواهیم کرد.

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

حفاظت Memcached

راه های جلوگیری از آسیب پذیری Memcached چیست؟

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

1. UDP را غیرفعال کنید

سرورهای Memkshed به طور پیش‌فرض اجازه استفاده از UDP را می‌دهند که بهتر است از آسیب‌پذیری Memkshed جلوگیری کرده و اگر به آن نیاز ندارید غیرفعال کنید.

2. برای استفاده از سرورهای Memcached از فایروال استفاده کنید

راه دیگر برای جلوگیری از آسیب پذیری Memcached استفاده از فایروال امن است. فایروال سرورهای Memshed را در برابر حملات مختلف محافظت می کند و بنابراین حتی می توانید بدون نگرانی از UPD استفاده کنید.

3. از جعل آدرس IP جلوگیری کنید

در حالی که جعل IP امکان پذیر است، حملات DDoS علیه Memcached نیز امکان پذیر است. باید گفت که جلوگیری از جعل IP بیشتر بر عهده ISP است تا شما.

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

پس از آن بهتر است در عمل ببینید راه حل قابل اعتماد برای حل مشکل امنیتی Memcached در سرورهای مجهز به توزیع دبیان یا اوبونتو چیست. برای انجام این کار، باید پارامترهای سرویس را با ویرایش فایل /etc/memcached.conf تنظیم کنید. اگر از ویرایشگر متن نانو استفاده می کنید، در اینجا نحوه انجام این کار آورده شده است:

sudo nano /etc/memcached.conf

به طور پیش فرض، اوبونتو و دبیان به آدرس محلی 127.0.0.1 اشاره می کنند که در برابر حملات DDoS آسیب پذیر نیست. ابتدا بررسی کنید که گزینه -l روی همان آدرس تنظیم شده باشد:

. . .
-l 127.0.0.1
. . .

همانطور که قبلاً گفتیم، یکی از راه حل های مفید برای جلوگیری و حل آسیب پذیری Memcached غیرفعال کردن UDP است. برای این کار کد زیر را به انتهای فایل اضافه کنید:

. . .
-U 0

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

sudo service memcached restart

اکنون مطمئن شوید که Memcached به رابط محلی متصل است و فقط با استفاده از دستور زیر به TCP گوش می دهد:

sudo netstat -plunt

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

خارج شوید

اتصالات اینترنتی فعال (فقط سرورها) Proto Recv-Q Send-Q آدرس محلی آدرس خارجی PID/نام برنامه. . . tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 2383/memcached. . .

تفاوت بین Memcached و Memcache چیست؟

تا اینجا متوجه شده اید که Memcached چیست و چه کاربردی دارد. شما همچنین اطلاعاتی در مورد آسیب پذیری آن و نحوه رفع آن دارید. با این حال، یک مفهوم دیگر وجود دارد که ما در مورد آن صحبت نکردیم: Memcache.

تفاوت بین Memcached و memcache
تفاوت بین Memcached و Memcache

اگرچه Memcache و Memcached پسوندهای PHP هستند، اما دقیقاً یکسان نیستند. PHP Memcache قدیمی تر اما پایدارتر است. اما محدودیت هایی نیز وجود دارد. ماژول PHP Memcache مستقیماً از Daemon استفاده می کند. در حالی که ماژول PHP Memcached از کتابخانه libMemcached استفاده می کند و دارای ویژگی های اضافی است.

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

MemcachedMemcache
29/01/2009 (بتا)08-06-2004تاریخ اولین انتشار
آرهنهافزودن/پیشبرد
آرهآرهسریال سازی خودکار
به میل خودنهپروتکل باینری
آرهنهCAS
آرهآرهفشرده سازی
آرهآرههش کردن مداوم اطلاعات

حافظه یک مفهوم مهم برای سرعت سرور است. در این مقاله خیلی ساده توضیح داده ایم که Memcached چیست و چگونه می تواند یک مشکل امنیتی بسیار مهم در سرور وب سایت شما ایجاد کند.

نتیجه

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

سوالات متداول

1. Memcached چیست؟

Memcached یک سرویس کش برای سرورهای وب سایت های پویا است که استفاده از آن باعث افزایش چشمگیر سرعت این وب سایت ها می شود.

2. مشکل امنیتی Memcached چیست؟

به طور خلاصه، مشکل امنیتی Memcached استفاده از پورت UDP 11211 بود که راه را برای حملات DDoS باز کرد.

3. مهمترین مزیت استفاده از Memcached چیست؟

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

منابع:github
هایدنجامز
کامپیوترهای امن