Asset E: Deck Blueprint - Chapter 16: ניתוח זירת פשע – לוגים ודיאגנוסטיקה (Logs & Sysdiagnose)¶
Slide 1: התפתחות הלוגים ב-macOS¶
- ממעבר מקבצי טקסט פשוטים למערכת מרוכזת.
- ה-Unified Logging System: מערכת מהירה, מוצפנת וחסכונית במשאבים.
- הגנה על פרטיות (הסתרת מידע אישי רגיש).
[Image Recommendation] A super minimalist abstract vector diagram showing scattered text documents transforming into a single, glowing, organized cylindrical database.
Presenter Notes - Script & Theory:
ברוכים הבאים לפרק האחרון של הקורס ול"זירת הפשע" של macOS! במשך עשרות שנים, מנהלי מערכת היו רגילים לחפש תקלות בתוך קבצי טקסט פשוטים (Plain Text) שישבו בנתיב ההיסטורי /var/log. עם הזמן, המערכת הפכה מורכבת, מהירה ועמוסה יותר, וקבצי טקסט פשוטים הפכו לצוואר בקבוק של ביצועים ואבטחה. המערכת בילתה יותר מדי זמן בכתיבת טקסט לדיסק הקשיח.
כאן נכנסת ה-Unified Logging System (ULS) – הגישה המודרנית של אפל ללוגים. במקום לכתוב טקסט רגיל ישירות לדיסק, המערכת כותבת אובייקטים בינאריים דחוסים, תחילה לזיכרון (Unified Memory) ורק אחר כך לכונן. זה אומר שרישום הלוגים לא מאט את תהליכי המערכת (Background Processes). מעבר לכך, מערכת הלוגים החדשה שמה דגש עצום על פרטיות (TCC בבסיס המחשבה). אם תהליך מנסה לכתוב מספר טלפון, כתובת מייל, או סיסמה ללוג, המערכת מחליפה את התוכן הרגיש במילה <private>, כך שגם אם מישהו זדוני או גורם חיצוני מקבל את הלוגים, הוא לא ימצא בהם מידע אישי של המשתמש.
Slide 2: עבודה עם Console.app¶
- צפייה בהודעות המערכת בזמן אמת (Streaming).
- סינון רעשים: חיפוש לפי תהליך (Process) ותת-מערכת (Subsystem).
- שמירת חיפושים (Saved Searches) לאבחון יעיל וחוזר.
[Image Recommendation] A clear screenshot of the Console.app interface on macOS Tahoe, highlighting the search bar, the "Start" streaming button, and the sidebar for Saved Searches.
Presenter Notes - Script & Theory:
כדי לקרוא את הלוגים הדחוסים והבינאריים הללו, אנחנו כבר לא יכולים להשתמש בתוכנת עריכת טקסט רגילה. אנו משתמשים ב-Console.app או בפקודת log ב-Terminal.
כשתפתחו את Console, שימו לב שלא תראו לוגים היסטוריים מופיעים מיד על המסך. אתם תראו את כפתור ה-"Start" לסטרימינג בזמן אמת בחלק העליון. ברגע שתלחצו עליו, תראו מפל של אלפי הודעות בשנייה – זה ה"רעש" הדיגיטלי התקין של המערכת.
חוקר טוב ואיש IT מנוסה יודע לסנן את הרעש הזה. ב-Console ניתן לבצע סינון מדויק לפי שם התהליך (Process) או לפי ה-Subsystem (למשל com.apple.wifi).
שמירת חיפושים (Saved Searches) היא פרקטיקה קריטית לאנשי IT: במקום להקליד ולזכור את קריטריוני הסינון המדויקים לכל סוג תקלה, אתם יכולים לשמור את החיפוש ב-Console. כך, בלחיצת כפתור תוכלו להתחיל לאבחן בעיית רשת, שגיאת התחברות (SSO) או תהליך תקוע מבלי לבזבז זמן.
Slide 3: הפקת Sysdiagnose (דו"ח המערכת המלא)¶
- "הקופסה השחורה" של תקלות ה-Mac.
- איסוף כולל של נתוני מערכת, לוגים מלאים, קריסות (Crash Reports) ומצב הרשת.
- קיצור הדרך והנתיב לשמירה בתוך המערכת.
[Image Recommendation] A minimalist graphic showing a Mac keyboard from a top-down view, with the keys Shift + Command + Option + Control + Period (.) subtly glowing or highlighted in an accent color.
Presenter Notes - Script & Theory: לפעמים, התקלה עמה אנו מתמודדים מורכבת מדי מכדי שנבין אותה מצפייה שטחית ב-Console בזמן אמת, במיוחד כשאנחנו נדרשים להעביר את המידע למהנדסים של אפל (Apple Support) או לחברת פיתוח תוכנה צד-שלישי לבדיקה מעמיקה. עבור המצבים הללו יש לנו את הפקת ה-Sysdiagnose.
ה-Sysdiagnose הוא בעצם לכידה מקיפה ומלאה של ה"קופסה השחורה" של המק ברגע נתון. הפקודה אוספת את כל הלוגים (גם ההיסטוריים השמורים בדיסק), מצבי הזיכרון (Memory Pressure), טבלאות הניתוב של הרשת, קריסות מארגז החול (Sandboxing Crash Reports) ואת סטטוס הסוללה והחומרה, ודוחסת הכל לקובץ ארכיון אחד כבד ומוצפן (.tar.gz).
איך מפיקים אותו בסביבת משתמש? הדרך המהירה והפשוטה ביותר היא באמצעות קיצור המקלדת: Shift + Command + Option + Control + Period (נקודה). לאחר הלחיצה, המסך יהבהב פעם אחת, ולאחר מספר דקות (התהליך אורך זמן ורץ ברקע באופן שקט), הקובץ יישמר אוטומטית בתיקייה החבויה /private/var/tmp וגם יקפוץ בחלון Finder. ניתן להפיק אותו גם דרך ממשק שורת הפקודה (CLI) עם הפקודה sudo sysdiagnose.
Slide 4: חדר הבריחה – איתור תקלות MDM ("תיבול ארגוני")¶
- איתור פקודות הטמעה (Deployment) שתקועות.
- מעקב ישיר אחר תהליך ה-
mdmclientומערכת ההפעלה. - זיהוי הוכחה ברורה במקרים של חסימות רשת או התנגשות פרופילים.
[Image Recommendation] A simplified dark-mode log view graphic displaying a few lines of text, where the Subsystem "com.apple.mdmclient" and an error message like "Error: Network timeout reaching MDM server" are highlighted in red.
Presenter Notes - Script & Theory: עכשיו ניקח את כל מתודולוגיות האבחון שלמדנו ונכניס אותן לסביבת האנטרפרייז שלנו. בארגונים, לעיתים קרובות אנחנו שולחים פקודה ממערכת ה-MDM או דוחפים Configuration Profile (Configuration Profile) למשתמש, והיא פשוט לא מגיעה. המערכת מדווחת על שגיאה כללית בלי פרטים והמשתמש טוען ש"כלום לא קרה". איך מוכיחים מה השתבש, ואיפה בדיוק נשברת השרשרת?
זהו ה"חדר בריחה" שלנו והרגע בו ה-Unified Logging System זורח. אנחנו פותחים Console, מתחילים לכידת לוגים חיה (Stream), ומסננים את ה-Subsystem במדויק ל-com.apple.mdmclient. לאחר מכן, אנחנו מבקשים מהמשתמש או משרת ה-MDM לדחוף את פקודת ה-Enrollment או הפרופיל שוב.
בלוג אנחנו נראה בזמן אמת בדיוק את שרשרת הפעולות: השרת מקבל פנייה, ה-Agent המקומי מנסה לקרוא ולפרוס את ה-Payload, ואז - קריסה! הלוג יראה לנו בבירור ובאופן טקסטואלי שהפורט חסום על ידי ה-Firewall הארגוני (Network Timeout), או שיש התנגשות הרשאות עם פרופיל קודם שנמצא במערכת. לוגים לא משקרים – הם כלי הנשק החשוב ביותר של איש ה-IT לאיתור תקלות מול מחלקות הרשת והאבטחה של הארגון.
שאלות מבחן אמריקאי (Multiple Choice Questions)¶
-
מדוע Apple עברה להשתמש ב-Unified Logging System במקום קבצי טקסט פשוטים? A) קבצי טקסט תפסו פחות מקום אחסון אך היו בלתי קריאים למנהלי רשת. B) כדי לשפר ביצועים באמצעות רישום נתונים בינארי שנדחס תחילה לזיכרון ורק אז נכתב לדיסק (I/O אופטימלי). C) מכיוון שקבצי טקסט נמחקו אוטומטית בכל אתחול של המחשב למצב בטוח (Safe Mode). D) כדי לאפשר למשתמשים סטנדרטיים לערוך את הלוגים בקלות בעזרת תוכנת TextEdit. תשובה נכונה: B
-
כיצד ה-Unified Logging System מתמודד עם נתונים אישיים רגישים (כמו סיסמאות או מספרי טלפון) כברירת מחדל? A) המערכת מצפינה אותם עם מפתח ה-FileVault של המשתמש. B) המערכת שולחת אותם לשרתי אפל בצורה מאובטחת לצורך בקרה. C) המערכת מחליפה אותם בטקסט
<private>כדי למנוע זליגת מידע אישי. D) המערכת מתריעה למשתמש בכל פעם שנתון רגיש נכתב ללוג. תשובה נכונה: C -
מהי הדרך המהירה ביותר למשתמש קצה להפיק קובץ Sysdiagnose ללא שימוש ב-Terminal? A) לחיצה על Shift + Command + Option + Control + Period (.) מכל מקום במערכת. B) לחיצה על Command + R במהלך הפעלת המחשב וכניסה ל-Recovery Mode. C) פתיחת Activity Monitor ולחיצה כפולה על כפתור ה-Force Quit. D) כיבוי המחשב והדלקתו תוך כדי לחיצה ממושכת על כפתור ה-Option. תשובה נכונה: A
-
אשת IT רוצה לאתר מדוע פקודת התקנה (Deployment) שנשלחה משרת הניהול לא בוצעה על המק המנוהל. על איזה Subsystem מומלץ לה לסנן ב-Console? A)
com.apple.wifiB)com.apple.mdmclientC)com.apple.securityD)com.apple.finderתשובה נכונה: B