שיעור 09: רשתות¶
**חלק א': מאגר ידע למדריך **
מסמך זה מהווה את Asset A - Instructor Reference עבור שיעור 09. המסמך מכיל תשתית תיאורטית וטכנית עמוקה, מקיפה ומעודכנת עבור כל נושאי השיעור. המסמך מוגדר כ-"Book-Book" לשימוש פנימי של המדריך, תוך שמירה קפדנית על חלוקה ל-80% ליבת macOS ו-20% תיבול ארגוני.
1. ממשקים וסדרי עדיפויות: ניהול מיקומי רשת (Network Locations) ו-Service Order¶
1. High-Level Theory & History¶
היסטורית, במערכות Mac OS קלאסיות הגדרות הרשת והמדפסות נוהלו באופן נפרד לחלוטין דרך כלי שנקרא Chooser, הרבה לפני שרוכזו תחת קורת גג אחת ב-System Preferences (שהפך ב-macOS 13 ל-System Settings והמשיך להתפתח עד macOS 26 Tahoe).
הערת מורשת (Legacy)
ה-Chooser היה חלק איקוני מ-Mac OS 9 ומטה, ושימש לבחירת אזורי AppleTalk ומדפסות. הוא יצא לגמלאות מזמן, והוחלף על ידי ה-System Preferences המאוחד וכיום על ידי האפליקציה המודרנית System Settings.
מערכת ההפעלה macOS מתוכננת לאפשר ניידות מרבית עבור משתמשים המדלגים בין סביבות עבודה שונות (בית, משרד, בתי קפה). כדי למנוע את הצורך בהגדרה ידנית מחדש של כתובות IP, שרתי DNS והגדרות Proxy בכל פעם, אפל פיתחה את מנגנון ה-Network Location (מיקום רשת). מיקומי רשת מאפשרים לשמור קבוצות של הגדרות רשת תחת פרופילים נפרדים (למשל "Office" לעומת "Automatic") ולדלג ביניהם בלחיצת כפתור.
בנוסף, מנגנון ה-Service Order (סדר שירותים) קובע את סדר העדיפויות שבו המערכת תנסה לנתב את התעבורה כאשר מספר ממשקי רשת (כגון Wi-Fi, Ethernet וחיבור סלולרי) פעילים ומחוברים במקביל. המערכת תמיד תעביר תעבורה דרך הממשק שנמצא בראש הרשימה, אלא אם כן הוא נכשל או אינו מסוגל לנתב החוצה.
ב-macOS Tahoe 26, הגדרה זו הוצנעה מעט בממשק המשתמש. ייתכן שגם ה-Ethernet וגם ה-Wi-Fi יציגו מחוון ירוק המעיד על התחברות תקינה, אך Safari ייכשל בהתחברות לאתרים חיצוניים אם חיבור Ethernet מקומי-בלבד יקבל עדיפות על פני חיבור Wi-Fi שיש לו גישה לאינטרנט. הגדרה זו מבוצעת דרך תפריט ה-... (שלוש נקודות) בתחתית חלונית הגדרות הרשת, מיקום UI קריטי שמשתמשים מרבים לפספס.
2. Deep Technical Architecture¶
הניהול המערכתי של ממשקי הרשת והתצורות השונות מבוצע על ידי תהליך הרקע (Background Process) המרכזי שנקרא configd (חלק מ-SystemConfiguration framework). תהליך זה מאזין לשינויים בסטטוס החיבור הפיזי (Link State) ומעדכן באופן דינמי את טבלת הניתוב (Routing Table) של הקרנל. כאשר מתבצע שינוי של Service Order, התהליך configd מעדכן את ה-Default Gateway בהתאם לממשק בעל העדיפות הגבוהה ביותר שיש לו חיבור חוקי (Link Up).
המידע נשמר מבחינה היררכית במאגר SystemConfiguration, כך שאפליקציות שזקוקות לחיבור יכולות לשאול את ה-framework איזה ממשק רשת פעיל כעת מבלי לנהל את הניתוב בעצמן.
גם ממשקי רשת וירטואליים מגופשרים (Bridged virtual network interfaces) משחקים כאן תפקיד. ב-macOS Tahoe 26, משתמשים ומנהלי מערכת יכולים לגשר ממשקים וירטואליים לרשתות פיזיות, מה שמאפשר למכונות וירטואליות או מנהרות VPN ייעודיות לשתף בדיוק את אותו Subnet כמו מכונת המארח (Host), דבר שמשנה את האופן שבו configd מתעדף את מדדי הניתוב (Metrics) הפנימיים.
3. Terminal Commands, Plists & Logs¶
- מסוף הפקודות (Terminal) Commands:
networksetup -listalllocations(הצגת כל מיקומי הרשת המוגדרים במערכת).networksetup -switchtolocation <LocationName>(החלפה מהירה בין מיקומי רשת).networksetup -listnetworkserviceorder(הדפסת סדר העדיפויות הנוכחי של ממשקי הרשת).networksetup -listallnetworkservices(הצגת רשימת כל שירותי הרשת הזמינים, שימושי מאוד לסקרפטים).netstat -rn(צפייה בטבלת הניתוב של הקרנל להבנת ניתוב ברירת המחדל).netstat -an(צפייה בכל החיבורים הפעילים).ifconfig(כלי מיושן אך פועל במלואו לצפייה בסטטוס ממשקים).ipconfig getifaddr en0(חלופה מודרנית ומהירה לקבלת ה-IP של ממשק ה-Wi-Fi הראשי).-
system_profiler SPNetworkDataType(הפקת דו"ח מלא של מצב הרשת והחומרה). -
Plists:
-
ההגדרות נשמרות בקובץ
preferences.plistהממוקם בנתיב:/Library/Preferences/SystemConfiguration/preferences.plist -
Logs:
log show --predicate 'process == "configd"' --info(מעקב אחר שינויים במצב הרשת והחלפות מיקומים כפי שמנוהלים על ידי ה-Daemon).
4. Edge Cases & Troubleshooting¶
מצב שכיח הוא שלמשתמש יש חיבור Wi-Fi תקין לרשת, אך אין לו גישה לאינטרנט. פעמים רבות הבעיה נעוצה ב-Service Order: ממשק וירטואלי (כמו תוכנת VPN ישנה או תחנת עגינה שאינה מחוברת לכבל) נמצא בראש הרשימה, ולמרות שהוא לא מספק אינטרנט, המערכת מנסה לנתב דרכו את התעבורה. הדבר עלול לגרום למצבים שבהם Safari מחזיר כישלון התחברות מלא (Complete failure to connect) גם כשהחומרה נראית תקינה.
הפתרון הוא כניסה ל-System Settings -> Network, לחיצה על לחצן ה-..., בחירה ב-Set Service Order, וגרירת ממשק ה-Wi-Fi לראש הרשימה, או שימוש בפקודת networksetup. במקרי קצה של שחיתות בקובץ ההגדרות, שבהם שינוי הגדרות IP לא נשמר, מומלץ ליצור Network Location חדש (היוצר סביבת SystemConfiguration נקייה לחלוטין מאפס) – מה שלרוב פותר את כל תקלות התצורה ללא צורך במחיקת קבצים ידנית.
אם אתר ספציפי נכשל אך אתרים אחרים פועלים כרגיל, ייתכן שזו בעיה ספציפית לדפדפן. macOS Ventura וגרסאות מאוחרות יותר של Safari הציגו תפריט Develop מוסתר (מופעל דרך הגדרות מתקדמות). לעיתים קרובות, שינוי ה-User Agent של Safari דרך תפריט זה יכול לעקוף חסימות שרת שרירותיות שאינן מזהות גרסאות WebKit חדשות של אפל.
2. כלי אבחון: ניטור קישוריות עם Activity Monitor ו-Wireless Diagnostics¶
1. High-Level Theory & History¶
הערת מורשת (Legacy)
היסטורית, macOS כללה אפליקציה בשם Network Utility עבור פינגים, traceroute ושאילתות WHOIS. אפל זנחה והסירה אפליקציה זו, ומעודדת משתמשים להשתמש ב-Terminal או בכלים גרפיים מודרניים.
כדי לתמוך ולפתור תקלות רשת, אנשי IT חייבים להבין האם הבעיה היא מקומית (במחשב), בתשתית הראוטר, או בשרת היעד. בעוד ש-Activity Monitor מספק ניתוח רוחב פס בזמן אמת של אפליקציות זוללות רשת, הכלי המרכזי והחזק ביותר לניתוח אלחוטי הוא Wireless Diagnostics (הממוקם ב-/System/Library/CoreServices/Applications/Wireless Diagnostics.app). הגישה המהירה אליו היא באמצעות לחיצה יחד עם מקש ה-Option על אייקון ה-Wi-Fi בשורת התפריטים (Menu Bar).
2. Deep Technical Architecture & RF Metrics¶
בצד ה-Wi-Fi, מנהל הרשת חייב לשלוט בארבעת מדדי ה-RF (Radio Frequency) הקריטיים של המערכת:
- RSSI (Received Signal Strength Indicator): עוצמת האות הנקלטת מה-Access Point, נמדדת בסקאלה לוגריתמית שלילית של dBm:
30- dBmעד50- dBm: אות מצוין (קרבה אופטימלית לראוטר).67- dBm: הסף המומלץ המינימלי לעבודה ארגונית חלקה (VoIP, Zoom, שיחות וידאו).75- dBmעד80- dBm: אות חלש, מהירות נמוכה וסיכון מוגבר לניתוקים.- Noise (רעש רקע): רמת הרעש האלקטרומגנטי בסביבה:
90- dBmומטה: רצפת רעש נקייה ומעולה.75- dBmומעלה: רמת רעש חריגה (הפרעות ממיקרוגלים, התקני Bluetooth, או כבלי USB 3.0 שאינם מסוככים כראוי).- SNR (Signal-to-Noise Ratio): יחס אות לרעש, מחושב כ-
Signal - Noise(למשל:-50 - (-90) = 40 dB). ערך מעל 25dB נדרש לתקשורת יציבה וקצבים גבוהים. - Tx Rate & PHY Mode: קצב השידור המקסימלי בפועל (ב-Mbps) ותקן השידור (802.11ax/be).
🪟 ארגז הכלים בתפריט Window ב-Wireless Diagnostics:¶
האשף (Wizard) הראשי מבצע דיאגנוסטיקה אוטומטית, אך טכנאי מק מתקדמים משתמשים בכלים הייעודיים בתפריט Window:
* Scan (Cmd + 4): סורק את כל רשתות ה-Wi-Fi בסביבה ומציג טבלה מפורטת (SSID, BSSID, ערוץ, רוחב פס, אבטחה ו-RSSI). בסרגל הצד מוצגות המלצות Best Channels המנתחות עומסים וממליצות על הערוצים הנקיים ביותר ב-2.4GHz, 5GHz ו-6GHz.
* Performance (Cmd + 5): גרף רציף בזמן אמת של Rate (קצב ב-Mbps), Signal (עוצמת אות) ו-Noise (רעש). כלי עזר חיוני לאיתור "שטחים מתים" (Dead Zones) במבנה ולבדיקת נדידה חלקה (Roaming) בין Access Points.
* Sniffer (Cmd + 6): מאפשר לכידת פקטות אלחוטיות (Over-The-Air Frame Capture) בערוץ וברוחב פס מוגדרים ישירות לקובץ .pcap לניתוח ב-Wireshark.
* Info (Cmd + 1): תצוגה מרוכזת של מצב החיבור, BSSID נוכחי ו-SNR.
3. Terminal Commands, Plists & Logs¶
- מסוף הפקודות (Terminal) Commands:
ping -c 4 www.apple.com(ביצוע 4 בדיקות פינג בלבד, ומונע לולאות אינסופיות).traceroute www.google.com(איתור נתיב הניתוב וה-Hops).sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder(מחיקת מטמון ה-DNS ואילוץ ה-Daemon לקרוא מחדש הגדרות).networksetup -getinfo "Wi-Fi"(הצגת כל הגדרות ה-IP, ה-Subnet וה-Router של ממשק ה-Wi-Fi).-
system_profiler SPAirPortDataType(שליפת דו"ח חומרה מקיף על כרטיס ה-Wi-Fi והחיבור הנוכחי). -
Logs:
log show --predicate 'process == "mDNSResponder"'(איתור שגיאות בשאילתות DNS).- לוגי אבחון אלחוטי מרוכזים נשמרים תחת
/var/log/wifi.log.
4. Edge Cases & Troubleshooting¶
תקלה נפוצה בארגונים היא תופעת "Sticky Client" — המק שומר על חיבור ל-Access Point מרוחק (עם RSSI ירוד של 78- dBm) ומסרב לנדוד (Roam) ל-AP קרוב וחזק יותר. שימוש ב-Option + Click לחשיפת ה-BSSID ופתיחת חלון ה-Performance מאפשרים להוכיח שהמחשב לא ביצע Roaming ולבצע איפוס ממשק (networksetup -setairportpower en0 off && networksetup -setairportpower en0 on).
3. חומת האש: ה-Firewall המובנה של macOS והדילמה הארגונית¶
1. High-Level Theory & History¶
חומת האש ב-macOS פועלת בשכבת האפליקציה (Application Layer Firewall - ALF) ונשלטת על ידי התהליך socketfilterfw. ה-ALF לא שואל "האם לפתוח פורט?", אלא קושר את הרשאות התקשורת לחתימה הדיגיטלית (Code Signature) של האפליקציה.
2. Deep Technical Architecture¶
- Inbound Only: ה-ALF חוסם אך ורק תעבורה נכנסת שאינה יזומה (Inbound Sockets). הוא אינו מנטר ואינו חוסם תעבורה יוצאת (Outbound).
- חתימות קוד: אפליקציות חתומות כדין על ידי אפל מאושרות אוטומטית. אם החתימה נפגמת, המערכת חוסמת את התקשורת הנכנסת.
- Stealth Mode: מתעלם מבקשות ICMP (Ping) וסריקות פורטים, מה שהופך את המק לבלתי נראה לסורקי רשת.
3. ארכיטקטורת אבטחה בארגון: הדילמה מול EDR ו-Network Extensions¶
בסביבות Enterprise מודרניות, קיימת דילמה מרכזית לגבי הפעלת ה-ALF המובנה:
המלצת הארכיטקטורה בארגוני Enterprise עם EDR
ארגוני Enterprise המריצים פתרונות אבטחה ו-EDR/ZTNA מודרניים (כגון Microsoft Defender for Endpoint, CrowdStrike Falcon, Palo Alto GlobalProtect, Cisco Secure Client, או Zscaler) מקבלים הנחיה רשמית מהיצרניות לנטרל את ה-ALF המובנה של אפל דרך ה-MDM.
הסיבות הטכניות לכך:
1. התנגשויות ב-Network Extension Framework: סוכני האבטחה המודרניים משתמשים ב-NEFilterDataProvider ויושבים באותה נקודת סינון בקרנל בדיוק כמו socketfilterfw. הפעלת שניהם במקביל יוצרת "מאבק על ה-Sockets" (Stack Contention), תופעות של Race Conditions בסגירת חיבורים, עכבת כפולה (Double-Inspection Latency), וניתוקי VPN ו-Captive Portal.
2. Single Source of Truth ל-SIEM: ה-ALF המובנה אינו מייצר טלמטריה מרכזית ל-SIEM (Splunk/Sentinel). צוותי ה-SOC רוצים שכל ניטור וחסימות הרשת (Inbound + Outbound) ינוהלו תחת סוכן ה-EDR הארגוני בלבד.
3. בארגונים ללא EDR ייעודי: ה-ALF הוא קו ההגנה המקומי היחיד, ויש לחייב את הפעלתו יחד עם Stealth Mode דרך ה-MDM.
4. Terminal Commands, Plists & Logs¶
- מסוף הפקודות (Terminal) Commands:
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate(בדיקה האם ה-ALF מופעל)./usr/libexec/ApplicationFirewall/socketfilterfw --setstealthmode on(הפעלת מצב Stealth מהטרמינל).-
/usr/libexec/ApplicationFirewall/socketfilterfw --listapps(רשימת כל האפליקציות והרשאות ה-Firewall שלהן). -
Plists:
-
תצורת ה-Firewall נשמרת בנתיב:
/Library/Preferences/com.apple.alf.plist -
Logs:
- לוג ייעודי:
/var/log/appfirewall.logאו ב-Unified Log:log show --predicate 'subsystem == "com.apple.alf"'
5. Edge Cases & Troubleshooting¶
- חוק ה-Ping השקט: אם בדיקת
pingלמק ברשת המשרדית נכשלת (Request timeout), אין להסיק שהמחשב כבוי או מנותק. לרוב מדובר ב-Stealth Mode שהופעל על ידי ה-MDM. יש לבצע בדיקת שירות ישירה (למשלnc -zv <IP> 22או שאילתת Bonjour).
4. תיבול ארגוני: אבחון פרופילי Wi-Fi מסוג 802.1X ארגוני וחיבורי VPN פרוקסי פרוסים מרחוק¶
1. High-Level Theory & History¶
בסביבה הארגונית (Enterprise), רשתות ה-Wi-Fi והגישה הפנימית מאובטחות בצורה מחמירה בהרבה מרשת ביתית של סיסמה אחת (WPA2 Personal). ארגונים משתמשים בפרוטוקול 802.1X (כגון PEAP או EAP-TLS) הדורש מכל מחשב להזדהות באמצעות שם משתמש וסיסמה אישיים, או באמצעות תעודה דיגיטלית (Certificate) המושתלת במחשב.
כדי למנוע טעויות הקלדה ולפשט את התהליך, מנהלי IT אינם מצפים מהעובד להגדיר זאת ידנית, אלא משתמשים ב-MDM כדי לדחוף Configuration Profile (פרופיל תצורה) המכיל Payload עם הגדרות ה-Wi-Fi, התעודות הארגוניות, ואף הגדרות VPN ו-Proxy אוטומטיות לסינון תעבורה.
2. Deep Technical Architecture¶
תהליך ההזדהות הארגוני 802.1X מנוהל ב-macOS על ידי תהליך שנקרא eapolclient. התהליך מבצע משא ומתן (Handshake) מול הראוטר המקומי ומול שרת ה-RADIUS הארגוני. אם התהליך מוגדר ל-EAP-TLS (הזדהות מבוססת תעודה), ה-eapolclient חייב לגשת אל מערכת מחזיק המפתחות (Keychain) של macOS כדי לקרוא את ה-Identity Certificate הרלוונטי שהושתל על ידי ה-MDM.
כאשר Configuration Profile מסוג Wi-Fi או VPN מופץ דרך MDM, ההגדרות ננעלות (Managed) במערכת. המשתמש מאבד את ההרשאה לשנות את ההגדרות הללו ואף כפתור "Forget This Network" מנוטרל או נעלם מהממשק הגרפי, כדי למנוע מהעובד לנתק עצמו משוגג מהרשת הארגונית המסופקת כפרופיל.
חיבורי VPN מודרניים (כמו GlobalProtect או Cisco) עברו ל-System Extensions. הם מבוססים על Network Extension framework (במקום IPSec ישן). ה-MDM מתקין Payload מסוג VPN/App-Proxy, שלרוב חוסם מהמשתמש את היכולת להתנתק ידנית דרך הממשק.
3. Terminal Commands, Plists & Logs¶
- מסוף הפקודות (Terminal) Commands:
profiles list(הצגת כל פרופילי התצורה והפיילודים המותקנים המכתיבים מדיניות רשת).security find-identity -p macos -v(בדיקת התעודות הדיגיטליות החוקיות המותקנות ב-Keychain למטרות 802.1X).-
networksetup -setwebproxy "Wi-Fi" proxy.company.com 8080(דוגמה להגדרת פרוקסי ידנית אם נדרש עוקף אבחוני). -
Plists:
-
N/A (הגדרות רשת מנוהלות יושבות בתוך ה-MDM database ולא בקבצי plist סטנדרטיים של משתמש).
-
Logs:
log show --predicate 'process == "eapolclient"' --debug(צפייה בזמן אמת בתהליך לחיצת היד הארגונית והבנת מדוע השרת דחה את החיבור).
4. Edge Cases & Troubleshooting¶
בעיה ארגונית שכיחה ביותר בהתחברות ל-802.1X מבוסס EAP-TLS היא תוקף תעודות. אם התעודה הדיגיטלית (Identity) פגת תוקף, תהליך ה-eapolclient ייכשל וה-Wi-Fi לא יתחבר, לרוב מבלי לספק שגיאה ברורה למשתמש.
במקרים של PEAP (סיסמה ארגונית), בעיה נפוצה היא שהמשתמש משנה את סיסמת ה-Active Directory שלו בארגון, אך הסיסמה הישנה נשארת שמורה ב-Keychain עבור רשת ה-Wi-Fi, מה שגורם לנעילת החשבון שלו לאחר ניסיונות התחברות כושלים ברקע.
כיוון שהפרופיל מנוהל על ידי MDM, טכנאי IT לא יכול למחוק את הרשת ידנית במק במקרה של תקלה חמורה. דרך המלך לפתרון היא שליחת פקודת מחיקת פרופיל מה-MDM, אילוץ עדכון פוליסות, ודחיפת Payload חדש ומעודכן, או מחיקת הסיסמאות הרלוונטיות דרך אפליקציית Keychain Access כדי לאלץ קפיצת חלון הקלדת סיסמה מחדש.
עזרים ויזואליים¶
המחשה ויזואלית (עזר לתלמיד)
תמונות אלו ממחישות את הממשק או המנגנון הרלוונטי לנושא השיעור.
