אבטחת הקונטיינרים באמצעות SELinux

בדף הזה מוסבר איך להפעיל את SELinux כדי לאבטח את הקונטיינרים. יש תמיכה ב-SELinux ב-Red Hat Enterprise Linux‏ (RHEL). אם המכונות המארחות שלכם מריצות RHEL ואתם רוצים להפעיל SELinux באשכול, אתם צריכים להפעיל SELinux בכל המכונות המארחות. החל מגרסה 1.9.0 של Google Distributed Cloud, אפשר להפעיל או להשבית את SELinux לפני או אחרי יצירת האשכול או שדרוג האשכול. כאשר SELinux מופעל במארח, הוא מופעל עבור זמן הריצה של הקונטיינר.

בדיקה אם SELinux מופעל

ב-RHEL,‏ SELinux מופעל כברירת מחדל.

  • כדי לבצע אימות, מריצים את הפקודה:

    getenforce
    

הפקודה מחזירה את הערכים Enforcing, Permissive או Disabled. אם הפקודה מחזירה Enforcing, אפשר להמשיך לשדרוג או ליצירה של האשכולות.

הפעלת SELinux

אם הפקודה getenforce מחזירה Permissive, אפשר לעבור למצב Enforcing באמצעות הפקודה setenforce. כדי לעבור בין מצב Permissive למצב Enforcing באמצעות setenforce, לא צריך להפעיל מחדש את המערכת. עם זאת, אם רוצים שהשינויים יישמרו גם אחרי הפעלה מחדש, צריך לעדכן את הקובץ /etc/selinux/config.

  • כדי לעבור למצב Enforcing, מריצים את הפקודה:

    sudo setenforce 1 # temporary
    sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/g' /etc/selinux/config # persistent - after reboot
    

אם SELinux הוא Disabled, כדי להפעיל אותו מומלץ להפעיל אותו קודם במצב Permissive ולהפעיל מחדש את המערכת כדי לוודא שהמערכת מופעלת בהצלחה. אם לא מופיעות שגיאות SELinux, אפשר להעביר את SELinux למצב Enforcing.

  1. אופציונלי: הפעלת SELinux במצב Permissive:

      sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config
      sudo reboot
    
  2. אם המערכת מופעלת מחדש בהצלחה ללא שגיאות SELinux, אפשר להפעיל את מצב Enforcing:

      sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config
      sudo reboot
    

אחרי שמפעילים את SELinux במצב Enforcing, ‏ SELinux מופעל לכל התהליכים במארח, כולל זמן הריצה של הקונטיינר.