رفتن به محتوای اصلی
امنیت

مدل امنیتی، با جزئیات.

TelegramOS حول جداسازی مستأجر، کمترین امتیاز و دفاع در عمق ساخته شده است. این صفحه مرجع رسمی نحوه محافظت پلتفرم از اپراتورها و داده‌هایشان است.

آخرین به‌روزرسانی: ⁨2026-09-29⁩

جداسازی مستأجر

هر پرس‌وجو به یک مستأجر متصل است؛ دسترسی میان‌مستأجری از نظر ساختاری غیرممکن است.

رمزنگاری در حالت سکون

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

احراز هویت قوی

تأیید دومرحله‌ای (TOTP به‌علاوه کدهای پشتیبان) برای هر اپراتور. هش رمز عبور با bcrypt.

ضمانت‌های امتیاز

بررسی‌های رتبه‌بندی نقش روی هر اندپوینت تغییر عضو.

ثبت حسابرسی

گزارش‌های فقط‌افزودنی برای اقدامات دارای امتیاز، با IP و عامل کاربر.

زیرساخت کسل‌کننده

Postgres، Redis، NATS، FastAPI، Next.js. عملیاتی‌شده، نه بداهه.

معماری

پلتفرم مجموعه‌ای از سرویس‌های FastAPI است که روی یک شبکه داخلی ارتباط برقرار می‌کنند و توسط PostgreSQL، Redis و NATS پشتیبانی می‌شوند. داشبورد Next.js یک مصرف‌کننده سخت‌گیر همان APIهایی است که یک اپراتور خارجی فراخوانی می‌کند. هیچ مسیر داشبورد دارای امتیازی وجود ندارد که مجوزدهی را دور بزند.

شبکه

  • همه اندپوینت‌های عمومی فقط TLS هستند. HSTS فعال است.
  • ترافیک داخلی سرویس‌به‌سرویس روی یک شبکه خصوصی اجرا می‌شود؛ هویت سرویس اعمال می‌شود.
  • تحویل وب‌هوک از بارهای امضاشده با یک راز مخصوص هر فضای کاری استفاده می‌کند.

جداسازی مستأجر

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

  • پرس‌وجوهای پایگاه‌داده از طریق یک نشست SQLAlchemy متصل به مستأجر درخواست محدود می‌شوند.
  • کارهای پس‌زمینه مستأجر درخواست منشأ را به ارث می‌برند.
  • تجمیع‌های تحلیلی برای هر مستأجر محاسبه می‌شوند؛ نشت میان‌مستأجری یافت‌شده در حسابرسی دور دوم ما در نسخه v0.6.0 مهر و موم شد (ببینید فهرست تغییرات).

احراز هویت

  • رمزهای عبور حساب کاربری با bcrypt (ضریب هزینه‌ی 12) و salt جداگانه برای هر رمز هش می‌شوند. Argon2id فقط برای مشتق‌کردن کلید از عبارت عبور والت اختیاری نشست‌ها استفاده می‌شود.
  • تأیید دومرحله‌ای از طریق TOTP (Google Authenticator، Authy، 1Password). کدهای پشتیبان در زمان ثبت‌نام صادر می‌شوند و باید توسط اپراتور ذخیره شوند.
  • توکن‌های نشست JWTهای کوتاه‌عمر هستند که با توکن‌های نوسازی چرخشی جفت می‌شوند؛ چرخش نوسازی توکن قبلی را باطل می‌کند.
  • کلیدهای API در حالت سکون هش می‌شوند و دقیقاً یک‌بار در زمان ساخت به اپراتور نمایش داده می‌شوند.

مجوزدهی و تیم‌ها

مجوزدهی مبتنی بر نقش با بازنویسی‌های مخصوص هر عضو است. چهار نقش (owner, admin, operator, viewer) رتبه‌بندی شده‌اند، و هر اندپوینتی که عضویت را تغییر می‌دهد این قاعده را اعمال می‌کند: یک عامل غیرمالک فقط می‌تواند نقش‌هایی کاملاً پایین‌تر از نقش خودش را اختصاص دهد و نمی‌تواند عضوی هم‌رتبه یا بالاتر از رتبه خودش را تغییر دهد.

  • ضمانت رتبه‌بندی نقش روی هر دو POST /teams/{id}/members و PATCH /teams/{id}/members/{user} ظاهر می‌شود. تقارن همان باگی بود که حسابرسی v0.4.0 رفع کرد.
  • مالک از طریق اندپوینت حذف قابل حذف نیست؛ مالکیت باید ابتدا منتقل شود.
  • بازنویسی‌های مجوز برای هر عضو نمی‌توانند قابلیتی بالاتر از رتبه خود عامل را اعطا کنند.

رمزنگاری

  • در حین انتقال: TLS 1.2 یا جدیدتر در همه جا. اندپوینت‌های عمومی یک پیکربندی سخت‌گیر TLS ارائه می‌دهند؛ نسخه‌های پروتکل قدیمی غیرفعال‌اند.
  • در حالت سکون: سشن‌های تلگرام و رمزهای دومرحله‌ای در حالت ذخیره با Fernet (AES) رمز می‌شوند. کلید پایه یک سکرت سرویس است که در محیط استقرار نگهداری می‌شود. برای اکانت‌های خودتان، حالت والتِ اختیاری کلید را با Argon2id از یک عبارت‌عبور که فقط در اختیار شماست می‌سازد — در حالت والت، سشن بدون آن عبارت‌عبور در حالت ذخیره قابل‌خواندن نیست. متن پیام‌ها، مخاطبان و پیوست‌ها در حالت ذخیره توسط برنامه رمزنگاری نمی‌شوند و رمزنگاری سرتاسری نیز ندارند.
  • چرخش کلید: کلیدهای مخصوص هر مستأجر می‌توانند بدون رمزنگاری مجدد هر رکورد، با بسته‌بندی مجدد با کلید جدید، چرخانده شوند.

ثبت حسابرسی

هر اقدام دارای امتیاز در گزارش حسابرسی ثبت می‌شود. ورودی‌ها شامل عامل، فعل اقدام، نوع و شناسه منبع، فراداده ساختاریافته (مقادیر قدیم و جدید)، IP، عامل کاربر و مهر زمانی (UTC) هستند. گزارش‌ها در لایه ذخیره‌سازی فقط‌افزودنی هستند.

  • دعوت اعضا، تغییر نقش‌ها، حذف‌ها.
  • ساخت فضای کاری، حذف، انتقال مالکیت.
  • اجراهای خودکارسازی حساس.
  • ساخت و باطل کردن کلید API.
  • تغییرات مؤثر بر صورت‌حساب.

امنیت عملیاتی

  • دسترسی به محیط تولید به یک گروه کوچک با تأیید دومرحله‌ای مبتنی بر سخت‌افزار محدود است. همه دسترسی‌ها قابل حسابرسی هستند.
  • هیچ یک از کارکنان نمی‌توانند رازهای مستأجر را به‌صورت متن ساده بخوانند؛ دسترسی به کلید مخصوص هر مستأجر محدود و ثبت‌شده است.
  • پشتیبان‌های پایگاه داده شامل دامپ‌های روزانه با نگهداری ۷ روزه و پشتیبان‌های بازیابی نقطه‌ای با نگهداری حداکثر ۳ روزه هستند. این پشتیبان‌ها رمزنگاری نمی‌شوند و روی همان میزبان پایگاه داده نگهداری می‌شوند؛ نسخه‌ای خارج از این میزبان وجود ندارد.
  • انتشارها برچسب‌گذاری و امضا می‌شوند؛ خط لوله عرضه از بازگشت فوری پشتیبانی می‌کند.
  • وابستگی‌ها به‌طور مداوم اسکن می‌شوند؛ هشدارهای با شدت بالا ظرف ۷ روز و موارد بحرانی ظرف ۲۴ ساعت وصله می‌شوند.

رسیدگی به سوءاستفاده

پلتفرم امتیازدهی ریسک مسدودی را روی فعالیت خودکارسازی اجرا می‌کند و از ارسال وظایفی که شبیه اسپم به نظر می‌رسند خودداری می‌کند. گزارش‌های سوءاستفاده از سوی اشخاص ثالث از طریق تیم اعتماد و ایمنی مسیریابی می‌شوند؛ ما با درخواست‌های قانونی همکاری می‌کنیم اما با فشار غیررسمی برای افشا نه.

پاسخ به حادثه

  • یک مهندس آماده‌باش برای هر حادثه مؤثر بر کاربر فراخوانده می‌شود.
  • هدف ما این است که برای هر حادثه‌ای که بیش از یک مستأجر را تحت تأثیر قرار می‌دهد یک نوشته پس از حادثه در وبلاگ منتشر کنیم.
  • حوادث امنیتی بدون توجه به تأثیر بر مشتری به‌عنوان P1 رسیدگی می‌شوند.

افشای مسئولانه

گزارش از طریق پشتیبانی داخل برنامه

ما گزارش‌ها را ظرف ۲۴ ساعت تأیید می‌کنیم و هدفمان رفع مسائل تأییدشده با شدت بالا ظرف ۱۴ روز است. ما پژوهشگران با حسن‌نیت را که در محدوده عمل می‌کنند تعقیب نمی‌کنیم.

محدوده: سرویس در telegramos.app و APIهای عمومی آن.
خارج از محدوده: مهندسی اجتماعی کارکنان، حملات انکار سرویس و یافته‌ها روی سرویس‌های شخص ثالثی که به آن‌ها وابسته‌ایم (آن‌ها را به شخص ثالث گزارش دهید).

انطباق و پرسش‌نامه‌ها

ما DPA امضا می‌کنیم و پرسش‌نامه‌های امنیتی معقول را تحت NDA تکمیل می‌کنیم. ببینید پیوست پردازش داده. برای آمادگی SOC 2، بازبینی‌های تأمین‌کننده و درخواست‌های پرسش‌نامه، با صفحه تماس تماس بگیرید.

ضمانت‌ها

تضمین‌شده

جداسازی مستأجر

در لایه پرس‌وجو اعمال می‌شود، توسط تست‌ها روی هر PR تأیید می‌شود.

تضمین‌شده

رمزنگاری در حالت سکون

کلیدهای Fernet (AES) اختصاصیِ هر اکانت؛ به‌علاوه‌ی والتِ اختیاریِ فقط-با-عبارت‌عبور برای اکانت‌های خودتان.

تضمین‌شده

ضمانت‌های رتبه‌بندی نقش

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

تضمین‌شده

حسابرسی فقط‌افزودنی

اقدامات دارای امتیاز با IP و عامل کاربر ثبت می‌شوند و برای طول عمر فضای کاری نگه داشته می‌شوند.

تضمین‌شده

تأیید دومرحله‌ای برای هر اپراتور

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

تضمین‌شده

انتشارهای امضاشده

هر برچسب انتشار امضا می‌شود؛ بازگشت با یک دستور انجام می‌شود.

نکته‌ای درباره کمال

هیچ پلتفرمی نشکستنی نیست. تعهد ما این است که برای جداسازی بر اساس ساختار مهندسی می‌کنیم، کار خود را حسابرسی می‌کنیم، و وقتی چیزی واقعاً خراب می‌شود به شما درباره‌اش می‌گوییم. فهرست تغییرات هر تغییر مرتبط با امنیت را برچسب‌گذاری می‌کند تا بتوانید کار ما را در طول زمان حسابرسی کنید.

امنیت | TelegramOS