نرمافزار برای محافظت از یک نصب، بینندگانش و دادههایش چه میکند، همانگونه که امروز پیادهسازی شده است. این توصیف قابلیتهاست، نه گواهی یا تضمین؛ اپراتور سرورهایی را که نرمافزار روی آنها اجرا میشود امن میکند.
خودمیزبان از بنیاد
هر مؤلفه روی سرورهایی اجرا میشود که اپراتور کنترل میکند: پنل، API مشترکان، worker، مبدأ و نودها. ناشر از یک نصب چیزی دریافت نمیکند جز آنچه اپراتور روشن میکند (بررسی بهروزرسانی فقط نسخه را میفرستد؛ جستجوی TMDB عنوان جستجوشده را میفرستد).
حسابها و دسترسی به پنل
حسابهای پنل نقش و گروه مجوز دارند؛ رمزهای عبور بهصورت هش bcrypt ذخیره میشوند؛ رمزهای یکبارمصرف مبتنی بر زمان (TOTP) در دسترساند و میتوان آنها را برای مدیران الزامی کرد؛ ورود در برابر حدس رمز محافظت میشود؛ reCAPTCHA یا Turnstile اختیاری در صفحه ورود؛ هر تغییر با عامل و آدرس در لاگ ممیزی ثبت میشود.
رازها و داده در حالت ذخیره
مشخصات SSH سرورها، کلیدهای API اشخاص ثالث و رازهای مشابه پیش از ذخیره با کلیدی مشتق از راز نصب مهروموم میشوند؛ کلیدهای Admin API بهصورت هش ذخیره و یک بار نشان داده میشوند. رمزهای عبور لاین (بیننده) بهصورت متن ساده ذخیره میشوند چون اپلیکیشنهای پخشکننده باید از آنها مطلع شوند؛ محافظت از پایگاه داده با اپراتور است.
محافظت از پخش
لینکهای پخش با HMAC-SHA256 امضا میشوند و منقضی میشوند؛ میتوانند به آدرس بیننده وابسته شوند؛ هر لاین محدودیت اتصال دارد؛ قواعد بر اساس کشور، ISP یا آدرس میتوانند بینندگان را مسدود یا مجاز کنند؛ ورودهای ناموفق مکرر خودکار مسدود میشوند. DRM وجود ندارد.
پشتیبانگیری و تابآوری
دامپهای زمانبندیشده پایگاه داده، رمزگذاریشده با رمز عبوری که اپراتور نگه میدارد، با بررسی بازیابی برای هر دامپ و نسخه اختیاری خارج از سایت در فضای سازگار با S3؛ حالت تعمیر؛ بازگشت نودها به مبدأ؛ کارهایی که با lease و مهلت اجرا میشوند.
دید و پایش
متریکهای Prometheus و نقاط پایانی سلامت برای API، پنل و worker؛ نمای اتصالها و ترافیک؛ هشدار با ایمیل، تلگرام یا وبهوک امضاشده؛ لاگ کلاستر از هر تغییر سرورها.
گزارش یک آسیبپذیری
به [email protected] با موضوع "Security" و توضیحی که امکان بازتولید مشکل را بدهد بنویسید. لطفاً پیش از انتشار جزئیات به رفع آن زمان بدهید. ناشر برنامه bug bounty ندارد.