بارنام / امنیت و اعتماد
امنیت و اعتماد
حساب پول باید قابل اتکا باشد. این صفحه میگوید چه چیزی را چگونه نگه میداریم، و چه گامهایی در مسیر امنیت پیش رو داریم.
دستگاه تأییدشده
نشست و نقش
قاعدهٔ حساب در پایگاه داده
سابقهٔ زنجیرهای
چند لایه، از دستگاه تا حساب
هر درخواست پیش از اینکه به حساب برسد از چند دروازه میگذرد. اگر یکی بشکند، بعدی هنوز سر جایش است.
مسیر یک ثبت، از درخواست تا سابقه
درخواستاز دستگاه کاربر
دستگاهتأییدشده است؟
نقشاجازه دارد؟
تراکنشکامل یا هیچ
قید پایگاه دادهحساب بالانس است؟
سابقهزنجیرهای ثبت شد
داده و حساب
- قاعدههای حساب در پایگاه داده: جمع بدهکار با جمع بستانکار برابر است؛ فاکتور بسته و روز بسته ویرایش نمیشود؛ اینها قید خود PostgreSQL هستند.
- دفتر کل فقطافزودنی: اصلاح فقط با سند معکوس یا اصلاحی انجام میشود و اصل سند میماند.
- پول، عدد صحیح ریال: بدون اعشار و بدون گردکردن بیصدا.
- هر کار یا کامل ثبت میشود یا هیچ: هر درخواست در یک تراکنش اجرا میشود؛ خطا یعنی هیچ تغییری ثبت نشده است.
- جلوگیری از ثبت تکراری: دوبار کلیک یا تلاش دوباره، سند تکراری نمیسازد.
دسترسی و ورود
- رمز: با الگوریتم argon2id و یک «فلفل» جدا از پایگاه داده ذخیره میشود؛ رمزهای ضعیف پذیرفته نمیشوند.
- نشستها: توکن دسترسی ۱۰ دقیقه اعتبار دارد؛ توکن تازهسازی یکبارمصرف است و استفادهٔ دوباره آن، کل نشست را میبندد.
- بررسی زنده: غیرفعالکردن یک فروشنده یا مسدودکردن یک دستگاه از همان درخواست بعدی اثر میکند.
- تأیید دستگاه: اولین دستگاه هر کاربر مورد اعتماد است و دستگاههای بعدی تا تأیید ادمین کار نمیکنند.
- قفل موقت: پس از چند رمز اشتباه، حساب برای مدتی قفل میشود.
- نقشها: فروشنده فقط ردیفها و ستونهای خودش را میبیند؛ این محدودیت در پایگاه داده اعمال میشود، نه فقط در ظاهر برنامه.
جداسازی و سابقه
- جداسازی حجرهها: هر حجره پایگاه داده و رمز جدا دارد؛ رمزها از یک راز اصلی مشتق میشوند و در پایگاه داده ذخیره نیستند.
- سابقهٔ زنجیرهای: گزارش رویدادها هشزنجیری است و بررسی شبانه سالمبودن آن را میسنجد.
پشتیبانگیری و پایش
- نسخهٔ پشتیبان روزانه از هر حجره گرفته میشود و هر نسخه در یک پایگاه داده موقت آزمایش بازیابی میشود.
- هر درخواست شناسهٔ پیگیری دارد؛ در خطای سرور فقط همین شناسه به کاربر میرسد و جزئیات داخلی بیرون نمیرود.
- قرارداد API با آزمون خودکار اجرا میشود و هر تغییر پایگاه داده یک مهاجرت شمارهدار و تغییرناپذیر است.
امنیت: آنچه ساخته شده و گامهای بعدی
امنیت: آنچه ساخته شده و گامهای بعدی
وضعیت هر مورد در یک نگاه:
ورود با شماره و رمز، و تأیید دستگاهدر برنامه کار میکندساخته شده
تأیید دومرحلهای برای ادمینلایهٔ دوم ورود برای ادمیندر برنامه
تست نفوذ مستقلبررسی امنیتی مستقل توسط شخص ثالثدر برنامه
اتصال خودکار به کارتخوانثبت خودکار پرداخت کارتیدر برنامه
حالت آفلاینکار در قطعی اینترنت، بدون بهخطرافتادن درستی حسابدر برنامه
ارسال واقعی پیامکیادآوری خودکار بدهی و سررسید به مشتریبهزودی
گزارش آسیبپذیری
اگر ضعفی در سامانه دیدید، لطفاً مسئولانه گزارش کنید و آن را پیش از رفع علنی نکنید. به گزارشها پاسخ میدهیم.
ایمیل گزارشinfo@barnam.ir
یک دمو، روی بار و فاکتور خودتان
بیایید یک بار واقعی را از ورود تا صافی با هم ببینیم. دمو بدون تعهد است و برنامه با دادهی نمونه نشان داده میشود.