Skip to content

مدل امنیتی ​

این صفحه توضیح می‌دهد چه چیزی از سرویس شما محافظت می‌کند و هر محافظت چه نتیجه‌ای دارد، از اتصال بین پنل و نودهایش تا مجوزهای هر حساب ادمین. روشن کردن محافظت‌ها و مدیریت حساب‌ها در امنیت، ادمین‌ها، نقش‌ها و توکن‌های API آمده است.

بین پنل و نودهایش ​

  • TLS دوطرفه. پنل و هر نود در هر اتصال هویتشان را ثابت می‌کنند. نود فقط گواهی کلاینت پنل را می‌پذیرد؛ هیچ چیز دیگری در اینترنت از handshake TLS روی پورت کنترلش رد نمی‌شود.
  • پین کردن در اولین استفاده. پنل گواهی هر نود را در اولین اتصال ثبت می‌کند و بعد از آن فقط همان را می‌پذیرد. ماشین دیگری در همان آدرس رد می‌شود، نه اینکه مورد اعتماد قرار بگیرد.
  • توکن‌های نصب یک‌بارمصرف. دستور نصب توکنش را یک بار با گواهی کلاینت پنل عوض می‌کند؛ توکن دیگر هرگز کار نمی‌کند. نصب خودکار از راه SSH توکن لازم ندارد: همه‌چیز را روی اتصال SSH بارگذاری می‌کند.
  • SSH هم پین می‌شود، و هرگز ذخیره نمی‌شود. پنل کلید میزبان SSH یک سرور را در اولین تماس ثبت می‌کند و کلید دیگری را رد می‌کند. گذرواژه برای یک اتصال استفاده و کنار گذاشته می‌شود. کلید SSH خود پنل فقط وقتی به یک سرور اضافه می‌شود که گزینه‌اش را تیک بزنید، و می‌شود از منوی نود لغوش کرد.
  • نودها هیچ رازی از شما نگه نمی‌دارند. کاربرها، کلیدها و گواهی‌ها در حافظه به نود می‌رسند و وقتی متوقف شود از بین می‌روند.

ببینید نود و پنلش.

نشست‌ها ​

  • هر ورود یک توکن نشست تصادفی می‌سازد که به شکل کوکی‌ای تحویل داده می‌شود که اسکریپت‌های صفحه نمی‌توانند بخوانند. پنل فقط هش آن را ذخیره می‌کند، پس جدول نشست‌ها راه ورودی نیست.
  • نشست بعد از ۲۴ ساعت بی‌استفادگی تمام می‌شود، یا با ۳۰ روز مرا به خاطر بسپار بعد از ۳۰ روز. نشست‌ها از ری‌استارت پنل جان سالم به در می‌برند.
  • هر ادمین می‌تواند نشست‌های خودش را با آدرس، اپ و آخرین فعالیت فهرست کند و هر کدام را پایان دهد. ادمین اصلی می‌تواند همه‌ی نشست‌های حساب دیگری را پایان دهد.
  • هر ورود و هر ورود ناموفق ثبت می‌شود، حتی وقتی گزارش تغییرات خاموش است، و ورود از یک آدرس تازه admin.login_new_ip ایجاد می‌کند.

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

  • ورود دومرحله‌ای از کدی از یک اپ authenticator (TOTP) استفاده می‌کند، به‌علاوه‌ی ده کد بازیابی یک‌بارمصرف. هر کد فقط یک بار پذیرفته می‌شود.
  • تأیید دوباره. عمل‌های حساس وقتی آخرین کد بیش از ۱۰ دقیقه پیش داده شده باشد کد تازه‌ای می‌خواهند: مدیریت ادمین‌ها، ساختن یا حذف توکن‌های API، بازگردانی پشتیبان، ری‌استارت پنل، و تغییر تنظیمات آدرس، گواهی یا مسیر پایه‌ی پنل. از حساب‌های بدون ورود دومرحله‌ای و از توکن‌های API پرسیده نمی‌شود.
  • ورود یکپارچه هرگز حسابی نمی‌سازد، و از حسابی که ورود دومرحله‌ای دارد بعد از ارائه‌دهنده هم کدش پرسیده می‌شود.

نقش‌ها، scopeها و مالکیت ​

کاری که یک ادمین می‌تواند بکند با دو سازوکار جداگانه تعیین می‌شود، و جدا نگه داشتن همین دو است که نماینده‌ها را از هم جدا نگه می‌دارد:

  • scopeها تعیین می‌کنند کدام عمل‌ها. هر route در API یک scope لازم دارد، و هر درخواست، از یک ورود یا یک توکن، با scopeهای نقش فراخواننده بررسی می‌شود.
  • مالکیت تعیین می‌کند کدام ردیف‌ها. یک نماینده فقط کاربرهایی را که مال خودش هستند می‌بیند و تغییر می‌دهد. هیچ scopeی این را گسترش نمی‌دهد: نماینده‌ای که اجازه‌ی خواندن کاربرها را گرفته، باز هم فقط کاربرهای خودش را می‌خواند.

نقش‌ها سه قاعده اضافه می‌کنند:

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

پنل یک مالک واحد دارد، تنها حسابی که نمی‌شود حذفش کرد یا تنزلش داد، تا همیشه یک حساب باشد که دستور بازیابی به آن برسد.

توکن‌های API ​

یک توکن API به یک برنامه اجازه می‌دهد از API استفاده کند:

  • وابسته به یک ادمین. توکن به‌جای ادمینش عمل می‌کند: فقط به کاربرهای آن ادمین می‌رسد و به سهمیه‌ی آن ادمین محدود است.
  • هرگز بیشتر از ادمینش. scopeهایش در هر درخواست تا نقش ادمینش کوتاه می‌شوند، پس محدود کردن ادمین همه‌ی توکن‌هایش را فوراً محدود می‌کند، و حذف ادمین توکن‌هایش را حذف می‌کند.
  • یک بار نمایش داده می‌شود، به شکل هش ذخیره می‌شود. توکن یک بار، هنگام ساخته شدن، نمایش داده می‌شود.
  • سهمیه‌بندی‌شده. به‌طور پیش‌فرض ۱۲۰ درخواست در دقیقه، یا نرخی که روی توکن تعیین شده است.
  • بعضی عمل‌ها به روی همه‌ی توکن‌ها بسته‌اند: تغییر گذرواژه، ری‌استارت یا به‌روزرسانی پنل، و بازگردانی پشتیبان.

محافظت از ورود ​

  • پنج تلاش ناموفق از یک آدرس، آن را به مدت ۱۰ دقیقه از ورود محروم می‌کند. مرحله‌ی دوم ورود و صفحه‌ی راه‌اندازی هم شمرده می‌شوند.
  • محرومیت‌های تکراری به مسدودیت تبدیل می‌شوند که از ری‌استارت جان سالم به در می‌برند و با هر تکرار در طول یک هفته طولانی‌تر می‌شوند: ۱۰ دقیقه، ۱ ساعت، ۲۴ ساعت، ۷ روز. ادمین اصلی می‌تواند یک آدرس را دستی هم مسدود کند.
  • مسدودیت فقط چیزی را می‌بندد که بدون نشست در دسترس است: ورود، مرحله‌ی دومش و صفحه‌ی راه‌اندازی.
  • پشت CDN یا reverse proxy، آن را زیر پروکسی‌های مورد اعتماد فهرست کنید، وگرنه پنل هر بازدیدکننده را با آدرس پراکسی می‌بیند و یک مسدودیت همه را بیرون می‌اندازد. فهرست مجاز ورود آدرس‌هایی را نام می‌برد که هرگز محروم یا مسدود نمی‌شوند: شبکه‌ی خودتان، راه برگشت خودتان.

دروازه‌ی راه‌اندازی ​

تا وقتی ویزارد راه‌اندازی اجرا نشده، پنل به هر درخواستی جز همان لینک یک‌بارمصرفی که نصب‌کننده چاپ کرده جواب «not found» می‌دهد. پیش از اینکه ادمینی وجود داشته باشد هیچ‌کس نمی‌تواند وارد شود، پس پنل صفحه‌ی ورود را به هیچ‌کس نشان نمی‌دهد. توکن ویزارد اجازه‌ی یک ارسال را می‌دهد که ادمین اصلی، همه‌ی تنظیمات و گواهی پنل را با هم می‌سازد، و پس از استفاده حذف می‌شود.

رازها هرگز بازتاب داده نمی‌شوند ​

  • اطلاعات ورود ذخیره‌شده دیگر هرگز نمایش داده نمی‌شوند. گذرواژه، توکن یا کلید ذخیره‌شده در یک فرم به شکل تنظیم شده — برای نگه‌داشتن خالی بگذارید خوانده می‌شود؛ کادر خالی چیزی را که ذخیره شده نگه می‌دارد.
  • رازهای حامل اصلاً خواندنی نیستند. توکن راه‌اندازی، گذرواژه‌ی پشتیبان و رازی که اطلاعات ورود هر تونل از آن مشتق می‌شود، از API تنظیمات و از فهرست خط فرمان کنار گذاشته می‌شوند.
  • رویدادها اطلاعات ورود حمل نمی‌کنند. ببینید گذرگاه رویداد.
  • پشتیبان‌ها همه‌ی اطلاعات ورود را دارند. یک گذرواژه‌ی پشتیبان تعیین کنید تا آرشیو برای کسی که پیدایش می‌کند بی‌فایده باشد.

پنل از کجا در دسترس است ​

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

گزارش تغییرات ​

گزارش تغییرات ثبت می‌کند چه کسی چه چیزی را کی تغییر داده است. به‌طور پیش‌فرض خاموش است و در تنظیمات روشن می‌شود؛ ورودها، ورودهای ناموفق و خروجی گرفتن از لینک‌های اشتراک در هر حال ثبت می‌شوند. فیلدهایی که شبیه راز هستند (گذرواژه‌ها، کلیدها، توکن‌ها، اطلاعات ورود، آدرس‌های اشتراک) هنگام نوشتن و دوباره هنگام خواندن با [redacted] جایگزین می‌شوند. فقط ادمین اصلی می‌تواند آن را بخواند یا پاک کند، و پاک کردنش هم ثبت می‌شود. ببینید گزارش تغییرات.

بازیابی ​

nexora-panel admin reset-password، که روی سرور پنل اجرا می‌شود، گذرواژه‌ی تازه‌ای برای یک حساب (به‌طور پیش‌فرض مالک) تعیین می‌کند، ورود دومرحله‌ای‌اش را خاموش می‌کند، نشست‌هایش را پایان می‌دهد و پیوندهای ورود یکپارچه‌اش را حذف می‌کند. گوشی گم‌شده و گذرواژه‌ی فراموش‌شده یک بازیابی‌اند، و این دستور همچنان تنها راه برگشت است. ببینید نصب پنل.

متن و تصویرها با مجوز CC BY 4.0.