مستندسازی / 10
آن را امن نگه دارید
راههای دسترسی به تلگرام، فهرستهای پروکسی عمومی و سرویسهای خارجی اختیاری را بشناسید. بدانید هر رمز چه امکاناتی را باز میکند، چه محافظتهایی را فراهم میآورد و چه مواردی را به شما واگذار میکند.
جایی که همهچیز زندگی میکند
جمعآورنده، پنل آن و هر رکورد ذخیرهشده روی کامپیوتری یا سروری که آن را اجرا میکنید باقی میماند. تلگرام بهصورت پیشفرض تنها مقصد است؛ هر مقصد دیگر یک کلید جداگانه دارد.
- تلگرامهمیشه · از طریق مسیر شما
اتصال MTProto حساب: مستقیم، SOCKS5، HTTP یا MTProxy. حالت مخفیسازی IP منتظر یک پروکسی فعال است. بازگشت مستقیم نیازمند حالتی است که صراحتاً آن را مجاز کند.
- نسخه خارج از محلاختیاری · بهصورت پیشفرض غیرفعال
ژورنال، فایلها و نقاط کنترل با AES-GCM رمزگذاری میشوند پیش از بارگذاری در ذخیرهسازی سازگار با S3. کلید نزد شما باقی میماند؛ پیوستها با هشهای کلیدمحور نامگذاری میشوند، نه هش محتوای آنها.
- اخطاریههااختیاری · بهصورت پیشفرض غیرفعال
مشکلات و شمارش تغییرات همراه با عناوین چت. گزیدههای پیام تنها در صورتی ارسال میشوند که آنها را فعال کنید.
- مرجع زمانبندیاختیاری · بهصورت پیشفرض غیرفعال
فقط هش SHA-256 یک نقطهٔ کنترل امضا شده و یک عدد یکبار مصرف تصادفی. بدون پیامها، بدون نامهای چت.
- شاهداختیاری · بهصورت پیشفرض غیرفعال
با یک توکن فقط-خواندن، نقاط کنترل امضاشده و شمارندههای ضبط را استخراج میکند. نمیتواند مکالمات را بخواند یا تنظیمات را تغییر دهد.
پیشفرض: تنها اتصال تلگرام از این دستگاه خارج میشود.
هر رمز چه چیزی را آشکار میکند
| مخفی | محلی که نگهداری میشود | آنچه را که باز میکند | اگر فاش شود |
|---|---|---|---|
| توکن پنل | panel-token.txt در دایرکتوری دادهها؛ مرورگر آن را فقط برای همان زبانه نگه میدارد | همه چیز در هر فضای کاری: خواندن و خروجیگیری، تغییر دامنه، ورود به حسابها | TgWitness را متوقف کنید، panel-token.txt را حذف کنید، دوباره آن را راهاندازی کنید: یک توکن جدید ایجاد میشود |
| جلسه تلگرام | گاوصندوق، رمزگذاریشده (credentials.enc) | خود حساب تلگرام | جلسه را در تلگرام تحت «تنظیمات» → «دستگاهها» پایان دهید. |
| کلید امضا | گاوصندوق، رمزگذاریشده (signing.enc) | امضای سوابقی که زیر اثر انگشت شما تأیید میشوند | نقاط کنترل در مکانهای دیگر نگهداری میشوند، یک شاهد و نشانههای زمانی نشان میدهند چه چیزی قبلاً وجود داشته است |
| کلید گاوصندوق | vault.key در کنار دادهها، یا یک کلید اصلی خارجی برای یک دایرکتوری داده جدید | رمزگشایی گاوصندوق | کلید جلسه و کلید امضا را نیز بهعنوان فاششده در نظر بگیرید |
| توکن شاهد | روی میزبان شاهد | فقط خواندنی: نقاط کنترل امضا شده و وضعیت سلامت | آن را در صفحهٔ Witness حذف کنید؛ یکی جدید بسازید |
| کپی کلید خارج از محل | گاوصندوق؛ یکبار آن را دانلود کنید تا در صورت نیاز بازیابی شود | رمزگشایی نسخهٔ خارج از محل | هر کسی که اشیاء ذخیرهشده را در اختیار داشته باشد، میتواند آنها را رمزگشایی کند: آن نسخه را بهعنوان افشا شده در نظر بگیرید |
محدودهٔ پوشش حفاظتی
پوشش داده شده
- یک رکورد تغییر یافته، حذف شده یا جابجا شده در یک خروجی: زنجیره هش یا امضا دیگر تأیید نمیشود.
- ژورنالی که پس از یک نقطهٔ کنترل که در جای دیگری نگهداری شده بود، بازسازی یا بازگردانده شد: نقطهٔ کنترل نگهداریشده دیگر مطابقت ندارد.
- حدس توکن پنل: ۲۵۶ بیت تصادفی که در زمان ثابت مقایسه میشوند؛ پس از ۱۵ خطا در یک دقیقه، آدرس رد میشود.
- محتوای چت خصمانه: متن بهصورت متن درج میشود، هرگز بهعنوان HTML؛ پیوستها بهصورت فایل دانلود میشوند؛ پنل هیچچیز را از سایتهای دیگر بارگذاری نمیکند.
- یک دایرکتوری دادهٔ کپیشده با کلید گاوصندوق خارجی: جلسات و کلیدهای امضا بدون کلید اصلی رمزگذاریشده باقی میمانند.
به شما واگذار شد
- توکن پنل اصلی کنترل کامل دارد. دسترسی محدود به حسابها، چتها و اقداماتی که دیگران نیاز دارند بدهید؛ کلید اصلی را خصوصی نگه دارید.
- یک مدیر سیستم میتواند همه چیز را بخواند و دفترچه را بازنویسی و دوباره امضا کند. اثر انگشت و نقاط کنترل را روی سیستمی دیگر نگه دارید.
- متن پیام و رسانهها توسط TgWitness رمزگذاری نمیشوند. از رمزگذاری دیسک و مجوزهای سختگیرانه استفاده کنید.
- HTTP ساده فراتر از localhost توکن را در شبکه نمایش میدهد. از HTTPS یا تونل SSH استفاده کنید.
- امضاها ثابت میکنند آنچه ضبط شده تغییر نکرده است، نه اینکه هر رویداد تلگرام ضبط شده باشد.
اشتراک دسترسی به یک پرونده با مجوزها، تاریخ انقضا و محدودیتهای جلسه. توکن شاهد همچنان یک اعتبارنامهٔ جداگانه باقی میماند.
سختگیری یک نصب
- از یک حساب تلگرام اختصاصی استفاده کنید — هرگز از حساب اصلی خود استفاده نکنید. توکن پنل و جلسه کنترل کامل آن را در اختیار شما قرار میدهند.
- پنل را روی 127.0.0.1 نگه دارید. فقط از طریق HTTPS (پیکربندی همراه Caddy) یا تونل SSH از راه دور به آن دسترسی پیدا کنید.
- دیسکی را که دایرکتوری دادهها را در خود جای داده رمزگذاری کنید: متن پیام و رسانهها همانطور که دریافت شدهاند ذخیره میشوند.
- دایرکتوری دادهها را به حساب سرویس محدود کنید. دایرکتوریهای جدید روی یونیکس با حالت 0700 ایجاد میشوند؛ در ویندوز، مجوزهای پوشه را تنظیم کنید.
- کلید اصلی گاوصندوق را در جای دیگری روی سرورها نگه دارید: قبل از ایجاد دایرکتوری داده،
TGWITNESS_VAULT_KEY_FILEرا تنظیم کنید. - اثر انگشت کلید امضا و نقاط کنترل را در سیستمی دیگر ذخیره کنید و شاهد را روی میزبان دیگری اضافه کنید.
- هرگز کلیدهای
data/، sessions،panel-token.txtیا vault را در گیتهاب یا یک چت آپلود نکنید. - سربرگهای
Authorizationرا در یک پروکسی معکوس ثبت نکنید.
آیا میتوانم توکن پنل را بدون از دست دادن دادهها تغییر دهم؟
بله. توکن فقط پنل را باز میکند. TgWitness را متوقف کنید، panel-token.txt را از دایرکتوری دادهها حذف کنید و دوباره آن را راهاندازی کنید؛ دفترچه یادداشت، جلسات و کلیدها دستنخورده باقی میمانند. با تنظیم TGWITNESS_TOKEN، به جای فایل از مقدار محیط استفاده میشود.
چرا پیامها هنگام ذخیرهسازی رمزگذاری نمیشوند؟
گردآورنده باید آنها را بخواند تا جستجو، مقایسه نسخهها و صدور آنها را انجام دهد. رمزگذاری آنها با کلیدی روی همان دستگاه، در برابر کسی که میتواند آن دستگاه را بخواند، تأثیر اندکی دارد. رمزگذاری دیسک، دیسک متوقفشده یا دزدیدهشده را محافظت میکند؛ مجوزهای سختگیرانه، دیسک در حال اجرا را محافظت میکنند.
گزارش یک آسیبپذیری
از منوی Security → Report a vulnerability در مخزن گیتهاب استفاده کنید. نسخه، تأثیر و حداقل بازتولید مصنوعی را درج کنید. هرگز اطلاعات ورود، دایرکتوریهای حساب یا آرشیوهای واقعی شواهد را ارسال نکنید. اگر گزارش خصوصی در دسترس نیست، یک issue باز کنید و درخواست کانال خصوصی بدون جزئیات اکسپلویت را مطرح کنید.