לדלג לתוכן

שיעור 15: מתודולוגיות אבחון (Advanced Troubleshooting) - Facilitator Guide

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


1. עיקרון הבידוד (Isolation)

  1. Objective: ללמד את הלומדים כיצד לגשת לפתרון תקלות מורכבות בצורה לוגית על ידי "חיתוך" הבעיה לחצי, והפרדה בין בעיות משתמש לבעיות מערכת בעזרת System Settings.

  2. Discussion - Script:

  3. "היום אנחנו מדברים על איך ניגשים לפתרון בעיות במק."
  4. פיסת היסטוריה למנחה: ציינו בפני התלמידים שבימי Mac OS X הראשונים, בידוד תקלות היה פשוט בהרבה: המערכת הריצה רק כ-34 תהליכי רקע (בהשוואה למאות תהליכים שרצים כיום ב-Activity Monitor). בנוסף, עד 2016 קבצי לוג נשמרו כטקסט פשוט, מה שהקל על הקריאה שלהם באפליקציית Console לפני המעבר למערכת ה-Unified Logs הבינארית.
  5. כלל הזהב: אנחנו לא מנחשים – אנחנו מבודדים (Isolation).
    • המטרה: לחתוך את הבעיה לחצי.
  6. שאלות מפתח לבידוד:
    • האם הבעיה קורית למשתמש ספציפי או לכלל המשתמשים?
    • האם התקלה בתוכנה או בחומרה?
  7. חיתוך מרחב האפשרויות חוסך שעות של עבודה.
  8. הדרך המהירה לבדוק (OS מול User):

    • צרו משתמש בדיקה ב-System Settings.
    • אם הבעיה לא חוזרת שם = התקלה היא User-Specific.
    • המשמעות: הבעיה ב-Home Folder של המשתמש המקורי (לרוב קובץ הגדרות פגום).
  9. Demonstration:

  10. פתחו System Settings ונווטו ל-Users & Groups.
  11. צרו משתמש בדיקה (Test User):
    • הגדירו לו הרשאות Standard.
  12. בצעו Log Out או השתמשו ב-Fast User Switching:
    • היכנסו לחשבון החדש שיצרתם.
  13. הסבירו תוך כדי:

    • "במשתמש החדש, נבדוק אם הבעיה משתחזרת."
    • "אם הכל עובד תקין, נשללה בעיית מערכת - אין צורך בהתקנת macOS מחדש."
  14. Instructor Deep-Dive:

    הרחבה טכנית למדריך: שיטות Isolation עמוקות * **בעיות User-Specific (חשבון יחיד):** * המידע הפגום נמצא ב-`~/Library` של המשתמש. * מוקדי חיפוש עיקריים: `Preferences`, `Caches`, ו-`LaunchAgents`. * **בעיות System-Wide (כל המשתמשים):** * החקירה עוברת לרמת המערכת. * חומרי צד-שלישי: חפשו ב-`/Library`. * חומרי מערכת: חפשו ב-`/System/Library` (אם כי מוגן לחלוטין על ידי ה-SSV). * **ניהול חשבונות מתקדם (CLI):** * השתמשו בפקודת `dscl` לאימות הגדרות בספרייה המקומית. * **אבחון חומרה במקרי קצה (מול תוכנה):** * הפעילו Apple Diagnostics. * כניסה: לחיצה ארוכה על לחצן ההפעלה באתחול (Apple Silicon) או Command+D (Intel).


2. כוחו של ה-Safe Mode

  1. Objective:

הבנת מנגנון ה-Safe Mode ככלי דיאגנוסטי ואוטומטי לניקוי קבצי מטמון ותיקון תקלות מערכת שקופות.

  1. Discussion - Script:
  2. "ה-Safe Mode הוא כלי דיאגנוסטיקה עוצמתי במק."
  3. הבדל מרכזי מ-Windows:
    • ב-macOS, המערכת מבצעת תחזוקה אקטיבית, לא רק מעלה סביבה 'נקייה'.
  4. 3 פעולות עיקריות ב-Safe Mode:
    1. בדיקה ותיקון של מערכת הקבצים על הדיסק.
    2. מחיקת קבצי מטמון (Caches של פונטים, קרנל).
    3. חסימת עליית שירותים חיצוניים (LaunchDaemons, LaunchAgents, Extensions).
  5. המבחן המעשי:
    • אם הבעיה נעלמת ב-Safe Mode = יש התנגשות עם תוכנת צד-שלישי.
  6. אפקט הריסטרט:

    • לעיתים, עצם הכניסה ל-Safe Mode ואז ריסטרט רגיל מיד אחרי, פותרת תקלות בזכות הניקוי האוטומטי.
  7. Demonstration:

  8. מומלץ להציג וידאו או צילומי מסך (בגלל מגבלות שידור).
  9. תהליך הכניסה ב-Apple Silicon:
    • לחיצה ארוכה על כפתור ההפעלה מול מחשב כבוי.
    • המתנה להופעת מסך ה-Startup Options.
    • בחירת כונן המערכת (Macintosh HD).
    • לחיצה ממושכת על מקש ה-Shift.
    • לחיצה על הכפתור כשהוא משתנה ל-"Continue in Safe Mode".
  10. סימני זיהוי ל-Safe Mode:

    • כיתוב אדום "Safe Boot" בפינה הימנית העליונה ב-Menu Bar.
    • איטיות גרפית קלה (האצה גרפית - Hardware Acceleration - כבויה).
  11. Instructor Deep-Dive:

    הרחבה טכנית למדריך: מה בדיוק מתרחש בקרביים של Safe Mode * **חסימת הרחבות:** מונע טעינת Kernel Extensions (Kexts) של צד-שלישי. * **נטרול פונטים:** חוסם פונטים שהותקנו עצמאית על ידי המשתמש (מ-`/Library/Fonts` או `~/Library/Fonts`). * **חסימת תהליכי רקע:** מנטרל זמנית תוכנות הגנה, אנטי-וירוסים ו-Agents של MDM. * **תיקון דיסק אוטומטי:** מריץ `fsck_apfs` ברקע לבדיקה כפויה ותיקון ה-Data Volume. * **ניקוי מטמון (Caches) עמוק:** * מחיקת `dyld` (Dynamic Loader Caches). * מחיקת Kernel Caches ו-System Caches נוספים. * קריטי במיוחד במקרים שבהם עדכון מערכת הותיר שאריות הגדרות לא תקינות.


3. חקירת המערכת באמצעות System Information (GUI)

  1. Objective:

היכרות עם הכלי הגרפי System Information כאמצעי העיקרי לקריאת נתוני חומרה, תוכנה ורשת, ולשמירת דו"חות.

  1. Discussion - Script:
  2. "כשאנחנו חוקרים תקלה, אנחנו צריכים מידע מדויק על המערכת."
  3. דוגמאות לנתונים חשובים:
    • רכיבי חומרה מותקנים.
    • גרסת מערכת מריצה.
    • זמן פעילות המחשב (Uptime) - כמה זמן עובד ברצף.
    • התקני USB מחוברים.
  4. הפתרון - System Information:
    • כלי גרפי עשיר, מרכז את כל המידע במקום אחד בקלות.
  5. שמירת דו"חות להסלמה:

    • ניתן לשמור (Save) את כל הנתונים לקובץ אחד.
    • קל להעביר לצוות Tier 2 או למהנדסי אפל להמשך חקירה.
    • זו הדרך האלגנטית לאסוף דיאגנוסטיקה ללא התעסקות עם פקודות.
  6. Demonstration:

  7. לחצו על מקש Option (⌥) במקלדת, ובמקביל על תפריט ה-Apple ().
  8. האפשרות About This Mac תשתנה ל-System Information.... לחצו עליה.
  9. סקירת חומרה:
    • נווטו לקטגוריית Hardware.
    • סקרו נתונים עם הכיתה (למשל, מספר סידורי ודגם).
  10. סקירת תוכנה וזמן פעילות:
    • נווטו לקטגוריית Software.
    • הראו את גרסת ה-macOS ואת ה-Time since boot (Uptime).
  11. יצוא הדו"ח:

    • בתפריט העליון, בחרו ב-File ואז Save.
    • שמרו את הקובץ (פורמט .spx) על שולחן העבודה.
    • הדגימו כיצד ניתן לפתוח אותו שוב מאוחר יותר או במחשב אחר.
  12. Instructor Deep-Dive:

    הרחבה טכנית למדריך: שימוש ב-CLI ופקודת system_profiler * **פקודת `system_profiler`:** * האלטרנטיבה ל-GUI, מצוינת לסביבות אוטומטיות או דרך MDM. * **רשימת הקטגוריות הזמינות:** * הריצו: `system_profiler -listDataTypes`. * **פורמטים של פלט:** * תומך בפלט XML או JSON – פנטסטי למשיכת נתונים למערכות Inventory. * דוגמה: `system_profiler -json SPHardwareDataType`. * **אזהרה קריטית:** * **לעולם אל תריצו** `system_profiler` ללא ארגומנט ממוקד! * המערכת תבצע סריקה מלאה של כל הקבצים והאפליקציות, ותתקע את הטרמינל לדקות ארוכות כדי להפיק קובץ ענק.


4. תיבול ארגוני: איך תמיכת IT מבודדת בעיה כשיש המון פרופילי MDM ברקע

  1. Objective:

יישום עקרון ה-Isolation בסביבה מנוהלת ומורכבת דרך ה-System Settings, כדי להבין האם התקלה נובעת מ-macOS או מתצורות ופרופילי אבטחה של ה-MDM הארגוני.

  1. Discussion - Script:
  2. "סביבה ארגונית מנוהלת מוסיפה לנו שכבת מורכבות עצומה."
  3. מקור המורכבות: שרת ה-MDM ופרופילי התצורה (Configuration Profiles) שהוא דוחף.
  4. האתגר המרכזי:
    • לקוח מתלונן (אתר חסום / USB לא מגיב / מדפסת לא עובדת).
    • האם זה באג של macOS, או פרופיל אבטחה שנועל את הפעולה?
  5. בדיקת הפרופילים ב-System Settings:
    • תחת Privacy & Security, נווטו ל-Profiles.
    • ניתן לראות את כל הפרופילים שנדחפו למכשיר.
  6. בידוד (Isolation) בסביבת MDM:

    • הסירו את הפרופיל נקודתית לבדיקה (אם ה-MDM מאפשר זאת).
    • לחלופין, הוציאו את המכשיר זמנית מקבוצת הניהול בשרת לטובת בדיקה.
  7. Demonstration:

  8. פתחו System Settings.
  9. נווטו ל-Privacy & Security ואז ל-Profiles.
  10. הציגו את רשימת הפרופילים המותקנים (אם קיימים).
  11. הצגת תוכן הפרופיל:
    • לחצו לחיצה כפולה על אחד הפרופילים.
    • הסבירו אילו הגדרות הוא אוכף (Payloads).
  12. ניסיון הסרת הפרופיל:

    • הראו את השימוש בסימן המינוס להסרה.
    • ציינו כי לרוב, מטעמי אבטחה, הם מוגדרים כ-"Non-Removable".
    • הסבירו שבמקרה כזה נצטרך לבצע את ההסרה/ההחרגה דרך שרת ה-MDM.
  13. Instructor Deep-Dive:

    הרחבה טכנית למדריך: טקטיקות בידוד בעולם ה-MDM וניהול מתקדם * **מניעת הסרה אוטומטית:** * ב-Automated Device Enrollment (ADE) לרוב חסומה אפשרות ההסרה הידנית אפילו למשתמש Admin מקומי. * **פקודות טרמינל לניהול:** * אילוץ סנכרון פרופילים: `sudo profiles renew -type enrollment`. * צפייה ברשימת הפרופילים: `profiles list`. * **טקטיקות עבודה ומעקפים למנהל ה-IT:** 1. **החרגה מצד השרת:** הוספת המק הספציפי ל-Exclusion Group ב-MDM כדי "להוריד" ממנו זמנית פרופיל בעייתי (למשל חסימת USB), ואז סנכרון המכשיר. 2. **קונפליקט EDR (תוכנת הגנה/אנטי-וירוס):** תקלות רבות נובעות מ-EDR שהותקן דרך ה-MDM. בידוד הבעיה יתבצע על ידי הסרה זמנית של האנטי-וירוס עצמו.