בניית אמון באמצעות בקרת גישה

רוב האפליקציות חושבות שהן מאובטחות רק בגלל שיש להן דף התחברות.

התחברות היא רק הצעד הראשון. ברגע שמשתמש נכנס, עליכם לענות על שאלה אחת: מה המשתמש הזה יכול לעשות?

אנשים רבים מתבלבלים בין אימות (Authentication) להרשאה (Authorization).

• אימות (Authentication) שואל: מי אתה? • הרשאה (Authorization) שואלת: מה מותר לך לעשות?

משתמש עשוי להתחבר בהצלחה. זה לא אומר שהוא אמור לראות כל רשומה או לערוך כל פרופיל.

השתמשו בבקרת גישה מבוססת תפקידים (RBAC) כדי להפוך את הכללים לברורים.

RBAC עובד על ידי בדיקת תפקיד המשתמש מול רשימה של תפקידים מורשים. אם אינכם משתמשים בבקרת גישה, אתם חשופים לסיכונים כגון:

  • לוחות בקרה (dashboards) חשופים מדי
  • הרשאות פנימיות רבות מדי
  • דליפות נתונים מקריות
  • עקבות ביקורת (audit trails) לקויים
  • אובדן אמון

פעלו לפי עיקרון ההרשאה המינימלית (Principle of Least Privilege). תנו למשתמשים רק את הגישה שהם זקוקים לה לצורך תפקידם.

• צוות תמיכה לא אמור לראות את כל רשומות הלקוחות. • מהנדסים לא אמורים לקבל גישה לסביבת הייצור (production) כברירת מחדל. • נתוני משאבי אנוש (HR) חייבים להישאר מופרדים. • תפקידי מנהל (Admin) חייבים להישאר נדירים וניתנים לביקורת.

לעיתים תפקידים אינם מספיקים. אתם זקוקים להרשאות מבוססות פעולה. משתמש עשוי לצפות ברשומה אך לא יכול למחוק אותה. זה מעניק לכם שליטה מפורטת (granular control).

כדאי גם להפריד נתונים לפי רמת רגישות: • נתונים ציבוריים: שם ותמונה. • נתונים פרטיים: אימייל וטלפון. • נתונים רגישים: שכר או מספרי זהות.

התייחסו לקטגוריות אלו בצורה שונה בקוד שלכם. זה הופך את ניהול האבטחה לקל יותר.

אמון דורש גם אחריותיות (accountability). בכל פעם שמישהו נוגע בנתונים רגישים, המערכת שלכם חייבת ליצור עקבות ביקורת (audit trail). פעולות רגישות חייבות להשאיר עקבות.

לפני שאתם משיקים את האפליקציה, בדקו את הנקודות הבאות:

  • האם תהליכי ההתחברות והסשנים (sessions) מאובטחים?
  • האם ההרשאות מבוססות על תפקידים ופעולות?
  • האם נתונים רגישים מופרדים?
  • האם הגדרות ברירת המחדל שלכם מגבילות?
  • האם אתם מתעדים (log) את כל הגישות?
  • האם אתם יכולים להסביר את ההרשאות למשתמשים שלכם?

אימות (Authentication) מכניס את המשתמשים פנימה. הרשאה (Authorization) שומרת על המערכת שלכם אמינה. אמון הוא תכונת מוצר.

מקור: https://dev.to/samiatakande11/building-trust-into-authentication-practical-access-control-patterns-for-modern-apps-55pc