רשימת בקרת גישה

רשימת בקרת גישה (שם מצוי וכך להלן: ACL קיצור מאנגלית של Access Control List) בהקשר למערכת קבצים של מחשב, היא רשימה של הרשאות המוצמדות לקובץ, תהליך תוכנית מחשב וכדומה[1]. ה-ACL מגדיר איזה משתמש או מערכת מותרים בגישה אל הקובץ וכן לביצוע פעולות על הקובץ. כל רשומת ACL קלאסית מגדירה את המשתמש ואת הפעולה הרלוונטית. לדוגמה ACL שמכילה בתוכה את הרשומה (Alice, delete) פירוש הדבר הוא שלמשתמש אליס (Alice), ישנה הרשאת מחיקה (delete) לקובץ.

מודלי אבטחה מבוססי ACL עריכה

במודלי אבטחה מבוססי ACL, כשמישהו (משתמש או מכונה) מנסה לבצע פעולה על קובץ, מערכת ההפעלה בודקת ראשית אם יש לו את הרשאות הגישה המתאימות על פי המופיע ב-ACL. נושא מרכזי על פי מודל זה, הוא ההחלטה כיצד ניתן לערוך הרשאות, כלומר איזה משתמש או תהליך מורשים לשנות את ה-ACL.

יישומים עריכה

הרבה מערכות מיישמות את ה-ACL או שיש להם היסטוריה של יישום שכזה

במערכות קבצים עריכה

בשנות ה-90 מודלי בקרת הגישה ACL ו-RBAC נוסו והיו בשימוש נרחב, לשם ניהול הרשאות. ACL של מערכת קבצים היא מבנה נתונים (בדרך כלל טבלה) המכיל רשומות של הרשאות גישה לבודדים או קבוצות, אל פריט על המחשב, כדוגמת תוכניות תהליכים או קבצים. רשומות אלו ידועות בקיצור ACEs המהווה קיצור מאנגלית של "רשומות בקרת גישה"[2]במערכות ההפעלה Microsoft Windows NT[3],‏ OpenVMS, דמויות יוניקס, ו-Mac OS X. כל אובייקט שניתן לגשת אליו (לדוגמה קובץ) מכיל מזהה ייחודי המאפשר גישה אל ה-ACL השייך לו. ההרשאות כוללות זכויות גישה פרטניות, לדוגמה איזה משתמש יוכל לקרוא מ-X, לכתוב ב-X או להריץ את X. בחלק מהיישומים ה-ACL מכיל רשומה המגדירה מי יוכל לשנות את ה-ACL עצמו.

רוב הפצות היוניקס ודמויות היוניקס[4] תומכות ב-ACL של תקן POSIX.1e המבוסס על טיוטה של POSIX קודמת יותר שננטשה. הרבה מהם[6] החל מגרסה 10.4[7], או סולאריס במערכת הקבצים ZFS[8], תומכות ב-ACL של NFSv4, המהווה את חלק מהתקן של NFSv4. קיימים שני יישומים נסיוניים של ACL של NFSv4, ללינוקס, אחד התומך במערכת הקבצים ext3[9], ולאחרונה Richacls[10], התומך במערכת הקבצים ext4.

ברשת עריכה

בחלק מסוגי חומרות מחשב קנייניות, בפרט נתבים ומתגים, ACL מתייחס לכללים המוחלים על מספרי פתחות (פורטים) וכן על כתובות IP, הזמינים על שרת או רכיב אחר משכבה 3, כל אחד עם רשימת השרתים או רשתות המותרים לשימוש בשירות. אף על פי שיש דרך נוספת להגדיר בקרת גישה המבוססת על שמות מתחמי רשת, הדבר לא תמיד טוב, משום שחבילות בודדות בפרוטוקולי TCP,‏ UDP, ו-ICMP, לא מכילות שמות מתחם. כתוצאה מכך ההתקן האוכף את ה-ACL חייב להמיר בנפרד שמות לכתובות מספריות. דבר זה מרחיב את אפשריות התקיפה של פצחן פוטנציאלי שמנסה להתגבר על אבטחת ACL. גם שרתים וגם נתבים יכולים להשתמש ב-ACL. ניתן באמצעות ACL לנטר תעבורת רשת יוצאת ונכנסת, ובהקשר הזה ה-ACL דומה לחומת אש. בשל היותו קשור לנושאי אבטחת מידע תקניו נקבעים על ידי ארגונים המטפלים בנושא כדוגמת PCI DSS.

יישומים ב-SQL עריכה

האלגוריתם של ACL עבר Porting ל- SQL ולמסדי נתונים יחסיים. מערכות מודרניות מבוססות SQL[11] כמו מערכת לתכנון משאבי ארגון ומערכות לניהול תוכן, משתמשים במודל ACL במודולי הניהול שלהם.

השוואה ל-RBAC עריכה

החלופה המרכזית ל-ACL הוא מודל RBAC. ניתן להשוות את RBACm, המהווה גרסה מינימלית של RBAC, לאופן הפעולה של ACL, ב-ACLg, שבו רק קבוצות מורשות להיכנס ל-ACL. ג'יי ברקלי הראה ב-1997 ש-RBACm ו-ACLg שוים למעשה.

ראו גם עריכה

הערות שוליים עריכה

  1. ^ RFC 4949
  2. ^ במקור: access control entries
  3. ^ "Managing Authorization and Access Control" באתר Microsoft Technet
  4. ^ (לינוקס [1] BSD וסולאריס)
  5. ^ [https://wiki.freebsd.org/NFSv4_ACLs "NFSv4 ACLs"
  6. ^ לדוגמה AIX,‏ FreeBSD[5], ו-Mac OS X
  7. ^ "Tiger"
  8. ^ [http://docs.oracle.com/cd/E19082-01/817-2271/ftyxi/index.html "Chapter 8 Using ACLs and Attributes to Protect ZFS Files".
  9. ^ [http://users.suse.com/~agruen/nfs4acl/ "Native NFSv4 ACLs on Linux באתר אופן סוזה
  10. ^ http://www.bestbits.at/richacl/ "Richacls - Native NFSv4 ACLs on Linux".
  11. ^ ספציפית של 2000 ו-2012