משתמש:Orbenor/Selinux (1)

מתוך ויקיפדיה, האנציקלופדיה החופשית

אבטחה משופרת לינוקס (SELinux) היא מודול אבטחה ל Linux kernel שמספק מנגנון לתמיכה בבקרת גישה לפי מדיניות האבטחה, הכולל את מחלקת ההגנה של ארצות הברית בסגנון חובה בקרות גישה (MAC).

<grammarly-btn>

</grammarly-btn>

SELinux היא קבוצה של  שינושיים בקרנל שינויים ובמרחב המשתמש: כלים שנוספו להפצות לינוקס שונים. הארכיטקטורה שלה שואפת להפריד אכיפת האבטחה של החלטות מדיניות האבטחה עצמו ומייעלת את עוצמת של התוכנה מואשם הביטחון ואכיפת מדיניות.[1][2] את מושגי המפתח הבסיסי SELinux ניתן לייחס מספר קודם לכן פרויקטים על ידי ארצות הברית הסוכנות לביטחון לאומי.


<grammarly-btn>

</grammarly-btn>

סקירה[עריכת קוד מקור | עריכה]

<grammarly-btn>

</grammarly-btn> בסוכנות אבטחה משופרת לינוקס צוות:[3]

NSA אבטחה משופרת לינוקס היא מערכת של תיקונים ב Linux kernel ועוד כמה כלים עזר לשלב חזק, גמיש חובה access control (MAC) אדריכלות לתוך מייג ' ור תת-מערכות של הקרנל. זה מספק משופרת מנגנון לאכוף את ההפרדה של מידע המבוסס על סודיות והגינות דרישות, אשר מאפשר איומים בחבלה ועוקף של יישום מנגנוני אבטחה לטפל ומאפשר כליאה של נזק יכול להיגרם על-ידי זדונית או יישומים פגומים. זה כולל ערכה של מדגם מדיניות אבטחה קובצי תצורה שנועדו לענות משותף, כללי אבטחה מטרות.

<grammarly-btn>

</grammarly-btn>

Linux kernel שילוב SELinux כופה חובה access-control מדיניות אשר תגביל את המשתמש תוכניות', מערכת שרתים גישה לקבצים ומשאבי רשת. הגבלת הזכות למינימום הנדרש לעבודה מפחית או מבטל את היכולת של תוכניות אלה ועל דמונים כדי לגרום נזק אם פגום או נפגעים (באמצעות גולש חיץ או misconfigurations, למשל). זה הכליאה המנגנון פועל באופן עצמאי המסורתי לינוקס (שיקול דעת) גישה מנגנוני בקרה. זה לא המושג "שורש" סופר-משתמש, והוא אינו חולק את הידוע החסרונות של המסורתי לינוקס מנגנוני אבטחה (כגון תלות setuid/setgid קבצים בינאריים).

<grammarly-btn>

</grammarly-btn>

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

<grammarly-btn>

</grammarly-btn>

מן טהרן נקודת מבט, SELinux מספק הכלאה של מושגים ויכולות שנשאבו חובה בקרות גישה, חובה שלמות שולט, מבוססות-תפקיד בקרת גישה (RBAC), סוג אכיפת אדריכלות. כלי צד שלישי לאפשר אחד כדי לבנות מגוון רחב של מדיניות אבטחה.

<grammarly-btn>

</grammarly-btn>

היסטוריה[עריכת קוד מקור | עריכה]

<grammarly-btn>

</grammarly-btn>

המוקדם עבודה מופנה לכיוון סטנדרטיזציה גישה כלפי הוראה של חובה ושל בקרת גישה לפי שיקול דעת (MAC ו-DAC) בתוך UNIX (יותר נכון, POSIX) סביבת מחשוב ניתן לייחס את הסוכנות לביטחון לאומי מהימן של UNIX (TRUSIX) קבוצת העבודה, אשר פגש משנת 1987 ועד 1991, פרסם אחד בענן הספר (#020A), המיוצר. המודל הרשמי הקשורים להערכה ראיות טיפוס (#020B) שבסופו של דבר לא פורסם.

<grammarly-btn>

</grammarly-btn>

SELinux נועד להדגים את הערך של חובה בקרות גישה Linux הקהילה וכיצד כזה שולט יכול להוסיף לינוקס. במקור, המדבקות שמרכיבים SELinux היתה צריכה להיות באופן מפורש להחיל את קוד המקור של הקרנל לינוקס; SELinux כבר התמזגו אל תוך ליבת לינוקס. ראשיות ב-2.6 סדרה של הקרנל של לינוקס.

<grammarly-btn>

</grammarly-btn>

ארה " ב הסוכנות לביטחון לאומי (NSA), המקור העיקרי מפתחים של SELinux, שחררה את הגרסה הראשונה של קוד פתוח פיתוח הקהילה תחת GNU GPL על דצמבר 22, 2000.[4] התוכנה התמזגו לתוך המסילה Linux kernel 2.6.0-test3, שוחרר ב 8 אוגוסט 2003. משמעותיים אחרים התורמים כוללים כובע אדום, רשת שותפים, מאובטח מחשוב תאגיד, Tresys טכנולוגיה, ועל סמך המחשב פתרונות. ניסיוני יציאות של הבקבוק/טה יישום נעשו זמינים דרך TrustedBSD לפרויקט FreeBSD ו דרווין מערכות הפעלה.

<grammarly-btn>

</grammarly-btn>

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

<grammarly-btn>

</grammarly-btn>

משתמשים, מדיניות וביטחון ההקשרים[עריכת קוד מקור | עריכה]

<grammarly-btn>

</grammarly-btn>

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

<grammarly-btn>

</grammarly-btn>

קבצים, יציאות רשת, חומרה אחרים יש גם SELinux ההקשר, בהיקף של שם, תפקיד (לעתים רחוקות), וסוג. במקרה של מערכות קבצים, מיפוי בין קבצי אבטחה הקשרים נקרא תיוג. תיוג מוגדר מדיניות קבצים, אבל יכול גם להיות מותאם באופן ידני ללא שינוי המדיניות. סוגי חומרה די מפורט, למשל, bin_t (כל הקבצים בתיקייה /bin) או postgresql_port_t (PostgreSQL נמל, 5432). את SELinux ההקשר עבור מערכת קבצים מרחוק יכול להיות מוגדר באופן מפורש בהר הזמן.

<grammarly-btn>

</grammarly-btn>

SELinux מוסיף את ה -Z לעבור את פקודות מעטפת ?, נ. ב., ועוד כמה אחרים, המאפשר את הקשר האבטחה של הקבצים או תהליך להיראות.

<grammarly-btn>

</grammarly-btn>

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

<grammarly-btn>

</grammarly-btn>

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

<grammarly-btn>

</grammarly-btn>

תכונות[עריכת קוד מקור | עריכה]

<grammarly-btn>

</grammarly-btn>

SELinux תכונות כוללות:

  • נקי הפרדה של מדיניות אכיפת מ
  • מוגדר היטב מדיניות ממשקים
  • תמיכה עבור יישומים ביצוע שאילתה על מדיניות ואכיפת בקרת גישה (למשל, crond מנהל עבודה בהקשר הנכון)
  • העצמאות של מדיניות ספציפית ומדיניות שפות
  • העצמאות של אבטחה ספציפיות-תבניות תווית התוכן
  • תוויות בודדות ושולט על ליבה חפצים ושירותים
  • תמיכה שינויים במדיניות
  • נפרדים אמצעים להגנה על תקינות מערכת (מחשבים-סוג) נתונים סודיות (מדורגת אבטחה)
  • גמיש מדיניות
  • בקרות על תהליך האתחול ואת ירושה, ביצוע תכנית
  • שולט על מערכות קבצים, ספריות, קבצים, פתח את הקובץ מתארי
  • שולט על שקעים, הודעות, ממשקי רשת
  • שולט על השימוש של "יכולות"
  • במטמון מידע על גישה-החלטות באמצעות גישה וקטור מטמון (AVC)[5]

<grammarly-btn>

</grammarly-btn>

מימושים[עריכת קוד מקור | עריכה]

<grammarly-btn>

</grammarly-btn>

SELinux זמין עם תמיכה מסחרית כחלק Red Hat Enterprise Linux (RHEL) גרסה 4 וכל מהדורות עתידיות. נוכחות זו גם באה לידי ביטוי המקביל גרסאות של CentOS ו - מדעית לינוקס. נתמך במדיניות RHEL4 הוא ממוקד מדיניות שמטרתה עבור מקסימום קלות שימוש, ובכך הוא לא מגבילים ככל שזה יכול להיות. גירסאות עתידיות של RHEL מתוכננים יש עוד מטרות ממוקדות מדיניות אשר מתכוון מדיניות מגבילה יותר. SELinux הוכרז ב אנדרואיד מאז גרסה 4.3[6]

<grammarly-btn>

</grammarly-btn>

חינם קהילה נתמכת GNU/Linux, פדורה היה אחד הראשונים המאמצים, כולל תמיכה כברירת מחדל מאז פדורה Core 2. הפצות אחרות כוללות תמיכה כגון דביאן , כמו של הכרטיס שחרור[7] ולא אובונטו כמו של 8.04 הארדי הרון.[8] כמו של גרסה 11.1, openSUSE מכיל SELinux "בסיסי אפשור".[9] SUSE Linux Enterprise 11 תכונות SELinux כ "טכנולוגיית תצוגה מקדימה".[10]

<grammarly-btn>

</grammarly-btn>

השתמש תרחישים[עריכת קוד מקור | עריכה]

<grammarly-btn>

</grammarly-btn>

SELinux שעלולים לקבוע אילו פעילויות המערכת מאפשרת לכל משתמש, תהליך, תהליך, עם מפרט מאוד מדויק. עם זאת, הוא משמש בעיקר כדי להגביל את דמונים[ההתמכרות] כמו מסד הנתונים של מנועי או שרתי אינטרנט יש יותר מוגדרים בבירור נתונים גישה ופעילות זכויות. דבר זה מגביל את פוטנציאל נזק מכל תחום daemon זה הופך להיות בסכנה. משתמש רגיל-תהליכים לעתים קרובות רץ unconfined תחום, לא מוגבל על ידי SELinux אבל עדיין מוגבל על ידי קלאסי לינוקס זכויות גישה.

<grammarly-btn>

</grammarly-btn>

$ getenforce

השוואה עם AppArmor[עריכת קוד מקור | עריכה]

<grammarly-btn>

</grammarly-btn>

SELinux מייצג אחד של מספר גישות אפשריות לבעיה של הגבלת פעולות התקנת תוכנה יכולה לקחת. עוד פופולרי אלטרנטיבי נקרא AppArmor , והוא זמין על SUSE Linux Enterprise Server (SLES), openSUSE ו אובונטו פלטפורמות. AppArmor פותחה מרכיב את עכשיו שהתפרקה Immunix לינוקס פלטפורמה. כי AppArmor ו-SELinux שונים בתכלית אחד מהשני, הם יוצרים נפרדות חלופות עבור תוכנת שליטה. ואילו SELinux ממציא מחדש מושגים מסוימים על מנת לספק גישה יותר הבעה סט של מדיניות בחירות, AppArmor נועד להיות פשוט על-ידי הרחבת את אותו מנהליים סמנטיקה משמש DAC עד חובה בקרת גישה רמה.

<grammarly-btn>

</grammarly-btn>

ישנם מספר הבדלים עיקריים:

  • הבדל חשוב אחד הוא כי AppArmor מזהה קובץ מערכת אובייקטים על ידי נתיב שם במקום inode. זה אומר, לדוגמה, קובץ זה אינו נגיש עשוי להיות נגיש תחת AppArmor כאשר קישור חזק הוא יצר את זה, בזמן SELinux היתה למנוע גישה דרך החדש שנוצר קשה הקישור.
    • כתוצאה מכך, AppArmor יכול להיות אמר לא להיות סוג של אכיפת המערכת, כפי קבצים לא מקצים סוג; במקום זאת, הם רק הפניה בקובץ תצורה.
  • SELinux ו AppArmor גם שונים באופן משמעותי, איך הם מנוהלים ואיך הם משלבים לתוך המערכת.[11]
  • מאז היא ממשיכה לשחזר מסורתי DAC שולט עם מק-רמת האכיפה, AppArmor מסודר של פעולות הוא גם קטן יותר במידה ניכרת מאשר אלה זמינים על פי רוב SELinux מימושים. לדוגמה, AppArmor ערכה של פעולות מורכבות: לקרוא, לכתוב, להוסיף, לבצע, מנעול, ואת הקישור.[12] רוב SELinux implentations יתמוך מספרי של פעולות סדרי גודל יותר מזה. לדוגמה, SELinux בדרך כלל תמיכה אותן הרשאות, אבל כולל גם שולט על mknod, איגוד רשת, שקעים, ישיר שימוש POSIX יכולות, טעינה ופריקה של מודולי קרנל, באמצעים שונים של גישה זיכרון משותף, וכו'.
  • אין הפקדים AppArmor על משמעי תוחמת POSIX יכולות. מאז היישום הנוכחי של יכולות מכיל לא הרעיון של נושא הפעולה (רק השחקן ואת הניתוח עצמו) הוא בדרך כלל את העבודה של MAC שכבה כדי למנוע חסוי פעולות על קבצים מחוץ השחקן נאכף התחום של שליטה (כלומר, "ארגז חול"). AppArmor יכול למנוע את מדיניותה מלהיות שונה, ולמנוע תואמי מלהיות רכוב/נותק, אך אינו עושה דבר כדי למנוע ממשתמשים לצאת החוצה שלהם אושרה העולמות של שליטה.
    • לדוגמה, היא עשויה להיחשב מועיל help desk עובדים כדי לשנות את הבעלות או הרשאות על קבצים מסוימים אפילו אם הם לא הבעלים שלהם (לדוגמה, ב-מחלקה לשיתוף קבצים). ברור שאתה לא רוצה לתת למשתמש(s) שורש על הקופסא אז אתה נותן להם CAP_FOWNER או CAP_DAC_OVERRIDE. תחת SELinux אתה (או את פלטפורמת ספק) יכול להגדיר את SELinux להכחיש את כל יכולות אחרת unconfined משתמשים, ולאחר מכן ליצור מוגבל תחומים על העובד להיות מסוגל לעבור לאחר כניסה למערכת, זה יכול להתאמן ביכולות האלו, אבל רק על קבצים מהסוג המתאים.
  • אין הרעיון של רב-רמת אבטחה עם AppArmor, ולכן אין קשה BLP או ביבה אכיפת זמין.
  • AppArmor תצורה נעשה שימוש אך ורק רגיל שטוח קבצים. SELinux (כברירת מחדל ברוב היישומים) משתמשת בשילוב של קבצים פשוטים (בשימוש על ידי מנהלי ומפתחי לכתוב האנושי ניתן לקרוא את המדיניות לפני זה הידור) תכונות מורחבות.
  • SELinux תומכת ברעיון של "מרחוק שרת מדיניות" (להגדרה באמצעות /etc/selinux/semanage.conf) כמקור חלופי עבור התצורה של מדיניות. ניהול מרכזי של AppArmor מורכב בדרך כלל במידה ניכרת מאז מנהלי חייב להחליט בין תצורת כלי פריסה מנוהלת בתור root (כדי לאפשר עדכוני מדיניות) או להגדיר באופן ידני על כל שרת.

<grammarly-btn>

</grammarly-btn>

מערכות דומות[עריכת קוד מקור | עריכה]

<grammarly-btn>

</grammarly-btn>

בידוד של תהליכי יכול גם להתבצע על ידי מנגנונים כמו וירטואליזציה; " מחשב לכל ילד פרויקט, לדוגמה, הראשון שלה יישום[13] sandboxed בודדים יישומים קלים Vservers. כמו כן, הסוכנות אימצה חלק SELinux מושגים אבטחה משופרת אנדרואיד.[14]

<grammarly-btn>

</grammarly-btn>

המלצות[עריכת קוד מקור | עריכה]

<grammarly-btn>

</grammarly-btn>

  1. ^ "SELinux Frequently Asked Questions (FAQ) - NSA/CSS". National Security Agency. נבדק ב-2013-02-06.
  2. ^ Loscocco, Peter; Smalley, Stephen (בפברואר 2001). "Integrating Flexible Support for Security Policies into the Linux Operating System" (PDF). {{cite web}}: (עזרה)
  3. ^ "Security-Enhanced Linux - NSA/CSS". National Security Agency. 2009-01-15. נבדק ב-2013-02-06.
  4. ^ Compare "National Security Agency Shares Security Enhancements to Linux". NSA Press Release. Fort George G. Meade, Maryland: National Security Agency Central Security Service. 2001-01-02. נבדק ב-2011-11-17. The NSA is pleased to announce that it has developed, and is making available to the public, a prototype version of a security-enhanced Linux system.
  5. ^ Fedora Documentation Project (2010). Fedora 13 Security-Enhanced Linux User Guide. Fultus Corporation. p. 18. ISBN 978-1-59682-215-3. נבדק ב-2012-02-22. SELinux decisions, such as allowing or disallowing access, are cached. This cache is known as the Access Vector Cache (AVC). Caching decisions decreases how often SELinux rules need to checked, which increases performance.
  6. ^ "Security-Enhanced Linux in Android". Android Open Source Project. נבדק ב-2016-01-31.
  7. ^ "SELinux". debian.org.
  8. ^ "How To Install SELinux on Ubuntu 8.04 "Hardy Heron"". Ubuntu Tutorials.
  9. ^ "openSUSE News". openSUSE News.
  10. ^ "Release Notes for SUSE Linux Enterprise Desktop 11". Novell. נבדק ב-2013-02-06.
  11. ^ "SELinux backgrounds". SELinux. Security Guide. SUSE.
  12. ^ "apparmor.d - syntax of security profiles for AppArmor".
  13. ^ "Rainbow". laptop.org.
  14. ^ "SELinux Related Work". NSA.gov.

<grammarly-btn>

19

</grammarly-btn>

[[קטגוריה:NSA]]