بازگشت به کتابخانهکتابخانه6.3امنیت در طراحی سیستم
طراحی سیستم نرم‌افزاریSYSTEM DESIGNاز صفر تا تسلط
v1.0.0
01مبانی و تصویر بزرگ
02Scalability و ظرفیت
03لایه داده
04Cache، Queue و جریان
05معماری نرم‌افزار
06قابلیت اطمینان و عملیات
07متد طراحی
08Case Study های واقعی
09سیستم‌های توزیع‌شده عمیق
10مهندسی تولید: داده، امنیت و کارایی
11تمرین پیشرفته و کیس‌استادی‌های مکمل
12زیر کاپوت دیتابیس و معماری داده
13وب بلادرنگ و پروتکل‌های مدرن
14سیستم‌های توزیع‌شده پیشرفته
15SaaS ،SRE ،امنیت و شبکه پیشرفته
16طراحی سیستم در عصر AI
17Case Study های تکمیلی
LESSON 6.3فصل ۶قابلیت اطمینان و عملیات

امنیت در طراحی سیستم

  • ~۱۱ دقیقه
  • ۴ پرسش
  • متن را انتخاب کن تا هایلایت شود

امنیت لایه‌لایه است (Defense in Depth) و از روز اول در معماری می‌نشیند، نه به‌عنوان چسب زخمِ آخر. چهار پرسش: کی هستی؟ چه حقی داری؟ داده چطور محافظت می‌شود؟ حمله چطور مهار می‌شود؟

AuthN vs AuthZ
احراز هویت: «کی هستی؟» (رمز، OTP ،Passkey). سپس مجوز: «چه حقی داری؟» (نقش‌ها RBAC، یا سیاست‌ها).
Session vs JWT
Session: شناسه در کوکی، state سمت سرور — ابطالِ فوری آسان. JWT: توکن امضاشده خودحمل — بدون state سرور، عالی بین سرویس‌ها؛ ولی ابطال قبل از انقضا سخت → عمر کوتاه + Refresh Token.
OAuth 2.0 / OIDC
واگذاری امن دسترسی: «ورود با گوگل» بدون دیدن رمزِ کاربر؛ استاندارد ارتباط اپ‌های ثالث.
Hashing رمز
رمز هرگز ذخیره نمی‌شود؛ hash کند و نمک‌دار (bcrypt/argon2) — نه MD5/SHA1.

حداقل‌های غیرقابل مذاکره

  • TLS همه‌جا — حتی داخل شبکه (Zero Trust: به شبکه داخلی هم اعتماد نکن).
  • رمزنگاری در سکون (at rest) برای داده حساس + مدیریت کلید جدا (KMS).
  • Least Privilege: هر سرویس/انسان فقط حداقلِ دسترسی لازم؛ secret ها در Vault، نه در کد و env عمومی.
  • ورودی کاربر = دشمن: پارامتر باندشده علیه SQL Injection ،escape علیه XSS ،CSRF token، اعتبارسنجی سمت سرور.
  • Rate Limit روی login و OTP علیه brute-force + قفل تدریجی.

به زبان ساده

امنیت یعنی در هر لایه بررسی کنیم چه کسی است، چه مجوزی دارد و داده چگونه محافظت می‌شود.

مثال واقعی

کاربر لاگین‌شده شاید بتواند سفارش خودش را ببیند، اما سرویس باید جداگانه جلوی دیدن سفارش مشتری دیگر را بگیرد.

دانش‌سنجی

آزمون درس

۴ Q
01
فرق AuthN و AuthZ؟
02
چرا JWT برای session ی که باید «فوراً باطل‌شدنی» باشد دردسر است؟
03
ذخیره درست رمز عبور؟
04
«ورود با گوگل» بدون دادن رمز گوگل به اپ، مصداق چیست؟