software•

انتشار ردیس نسخه ۸.۶.۷: بررسی عمیق معماری

تغییرات معماری در ردیس نسخه ۸.۶.۷ را بررسی کنید، که شامل اصلاحات امنیتی حیاتی در باس کلاستر، ایزوله‌سازی ACL تراکنش‌ها و محافظت‌های قوی در برابر خرابی می‌شود.

OP
OPA Release DeskWIRE
•5 min read
انتشار ردیس نسخه ۸.۶.۷: بررسی عمیق معماری

⚠️ Breaking Changes & Migration Caveats

Fully backwards-compatible by default, but introduces the cluster-bus-port-protected-mode configuration flag which, when set to 'yes', explicitly halts node startup unless 'tls-cluster' is properly enabled and authenticated.

نمای کلی اجرایی و اهمیت معماری

ردیس نسخه ۸.۶.۷ به عنوان یک نسخه امنیتی و پایداری حیاتی برای استقرار در سطح سازمانی منتشر شده است که به کش‌سازی توزیع‌شده با کارایی بالا و ذخیره‌سازی داده‌های درون حافظه متکی است. از آنجایی که معماری‌های توزیع‌شده برای برآورده کردن نیازهای پردازش با توان عملیاتی بالا مقیاس‌پذیر می‌شوند، ایمن‌سازی هر لایه از توپولوژی کلاستر از اهمیت بالایی برخوردار است. این نسخه مستقیماً بردارهای آسیب‌پذیری کلیدی را که لیست‌های کنترل دسترسی (ACL)، احراز هویت توپولوژی باس کلاستر و حاشیه‌های ایمنی حافظه را در طول بازیابی و پرس‌وجوهای تو در تو پیچیده پوشش می‌دهند، هدف قرار می‌دهد. ردیس ۸.۶.۷ با مقاوم‌سازی موتورهای ارزیابی داخلی و معرفی گمردهای محافظتی صریح کلاستر، تضمین می‌کند که محیط‌های چندمشتری و توپولوژی‌های توزیع‌شده، ایزوله‌سازی دقیق داده‌ها و تضمین‌های آپدایم (پایداری) را حفظ کنند.

از دیدگاه معماری، این نسخه فلسفه طراحی اصلی ردیس را تقویت می‌کند: عملکرد بدون سازش همراه با مقاوم‌سازی در برابر اکسپلویت‌های لبه‌ای (edge-case) و خرابی حالت. به‌روزرسانی‌های امنیتی در این پچ با فوریت بالا تعیین شده‌اند و ارزیابی و استقرار سریع را برای بارهای کاری پروداکشن ضروری می‌سازند. گنجاندن گزینه‌های پیکربندی دفاعی به معماران سیستم اجازه می‌دهد تا احراز هویت مبتنی بر TLS را در لایه باس کلاستر به شدت اجرا کنند و فرض‌های اعتماد ضمنی تاریخی را که در غیر این صورت می‌توانستند پورت‌های داخلی کلاستر را در برابر تلاش‌های غیرمجاز برای پیوستن گره‌ها در محیط‌های شبکه پیکربندی‌نشده آسیب‌پذیر بگذارند، از بین ببرند.

بهبودهای اصلی و ارگونومی توسعه‌دهنده

فوری‌ترین به‌روزرسانی امنیتی در ردیس ۸.۶.۷، نقص ارزیابی لیست کنترل دسترسی (ACL) را که تحت شماره PR #15673 ردیابی شده است، برطرف می‌کند. پیش از این، دستوراتی که با موفقیت در یک تراکنش چند دستوری (MULTI/EXEC) صف‌بندی می‌شدند، اگر مجوزهای ACL سطح کلید زیرین پس از صف‌بندی تراکنش و قبل از اجرا لغو می‌شدند، می‌توانستند بررسی‌های مجوز را دور بزنند. ردیس ۸.۶.۷ با ارزیابی مجدد یا احترام به مرزهای احراز هویت در زمان اجرا یا مراحل اعتبارسنجی صف، این مشکل را برطرف می‌کند و تضمین می‌کند که مدل‌های امنیتی اصل حداقل دسترسی حتی در میان مرزهای اجرای معوق دست‌نخورده باقی بمانند.

علاوه بر این، این نسخه بردارهای پایداری قابل‌توجهی را در ساختارهای داده پیشرفته حل می‌کند. عملیات سری زمانی (TimeSeries) برای جلوگیری از خرابی سرور هنگام الحاق نمونه‌ها به کلیدهای سری زمانی فشرده‌شده که از محموله‌های اسنپ‌شات RDB خراب بازیابی شده‌اند، تقویت شده‌اند. به طور مشابه، مجموعه‌های برداری (Vector Sets) اعتبارسنجی ورودی قوی دریافت کرده‌اند تا خرابی‌های احتمالی سرور ناشی از محموله‌های JSON عمیقاً تو در تو که در زمینه‌های پرس‌وجوی برداری استفاده می‌شوند را خنثی کنند. این بهبودها با کاهش قطعی‌های غیرمنتظره پروداکشن و تضمین رفتار قابل پیش‌بینی حافظه هنگام مدیریت محموله‌های داده پیچیده، تو در تو یا احتمالاً غیرقابل اعتماد، ارگونومی توسعه‌دهنده را به شدت افزایش می‌دهند.

ماتریس مقایسه معماری

بردار ویژگی مبنای قبلی ردیس نسخه ۸.۶.۷ تأثیر معماری
امنیت باس کلاستر اعتماد ضمنی روی پورت باس مگر اینکه tls-cluster فعال باشد اجرای سخت‌گیرانه اختیاری از طریق cluster-bus-port-protected-mode از پیوستن گره‌های سرکش به توپولوژی‌های کلاستر احراز هویت‌نشده جلوگیری می‌کند.
اجرای ACL تراکنش دستورات صف‌بندی‌شده می‌توانستند روی کلیدهای لغو شده اجرا شوند بررسی‌های احراز هویت را به طور ایمن در برابر بلوک‌های تراکنش اعمال می‌کند ایزوله‌سازی دقیق مرزهای چندمشتری را تضمین می‌کند.
ایمنی سری زمانی RDB مستعد خرابی در محموله‌های RDB خراب تجزیه دفاعی از خطاهای زمان اجرا جلوگیری می‌کند تاب‌آوری بازیابی کلاستر با دسترسی بالا را افزایش می‌دهد.
تجزیه JSON مجموعه برداری JSON عمیقاً تو در تو خطاهای حافظه ایجاد می‌کرد منطق پیمایش مقاوم از خرابی سرور جلوگیری می‌کند قابلیت اطمینان را برای بارهای کاری جستجوی برداری هوش مصنوعی/يادگيري ماشين تضمین می‌کند.

تغییرات اساسی و نکات مهاجرت

ردیس ۸.۶.۷ تا حد زیادی با نسخه‌های قبلی ۸.x سازگار است، اما یک وضعیت عملیاتی جدید و سخت‌گیرانه در خصوص امنیت ارتباطات باس کلاستر معرفی می‌کند. پیش از این، گره‌هایی که بدون فعال بودن tls-cluster کار می‌کردند، یک پورت باس کلاستر بدون احراز هویت را در معرض دید قرار می‌دادند و صرفاً به دفاع‌های پیرامونی شبکه متکی بودند. در حالی که پارامتر جدید cluster-bus-port-protected-mode به طور پیش‌فرض روی no تنظیم شده است تا از اصطکاک ناگهانی ارتقا جلوگیری کند، تنظیم آن روی yes گره‌ها را مجبور می‌کند تا زمانی که tls-cluster به طور فعال برای احراز هویت باس پیکربندی نشده باشد، از راه‌اندازی امتناع ورزند.

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

راهنمای گام‌به‌گام ارتقا

ارتقا به ردیس ۸.۶.۷ مستلزم یک استراتژی راه‌اندازی مجدد غلتان (rolling restart) کنترل‌شده برای حفظ دسترسی بالا در سراسر استپیارهای توزیع‌شده است. برای اعمال ایمن به‌روزرسانی، این مراحل عملی را دنبال کنید:

  1. آماده‌سازی و پشتیبان‌گیری: مطمئن شوید که تمام گره‌ها دارای اسنپ‌شات‌های اخیر RDB/AOF هستند. مدیر بسته‌های خود را به‌روز کنید یا ردیس ۸.۶.۷ را از درخت منبع رسمی کامپایل کنید.

  2. اعمال راه‌اندازی مجدد غلتان: گره‌های کلاستر را یک به یک راه‌اندازی مجدد کنید و به ارتقای رپلیکا و تثبیت وضعیت کلاستر قبل از رفتن به گره مستر بعدی اجازه دهید:

    # ذخیره و راه‌اندازی مجدد سرویس ردیس به صورت ایمن
    redis-cli -p 6379 SAVE
    sudo systemctl restart redis-server
    
  3. مقاوم‌سازی پیکربندی باس کلاستر: برای حداکثر امنیت در محیط‌های دارای مدل‌های تهدید سخت‌گیرانه، redis.conf خود را به‌روز کنید تا احراز هویت باس کلاستر مبتنی بر TLS را اعمال کنید:

    cluster-bus-port-protected-mode yes
    tls-cluster yes
    tls-port 6379
    tls-cert-file /etc/redis/tls/redis.crt
    tls-key-file /etc/redis/tls/redis.key
    tls-ca-cert-file /etc/redis/tls/ca.crt
    
#Redis#8.6.7#software#Release#Changelog
E-E-A-T VerifiedRelease Intelligence & Editorial Methodology

OPA Release analyzes upstream repository commits, official changelogs, and runtime telemetry assisted by automated synthesis pipelines and verified under our Editorial Standards. Review our Affiliate Disclosure and Software Disclaimer before deploying changes to production environments.

OPA NETWORK EXPLORER

Deep Dive Across the Ecosystem