עודכן לפני חודש
כדי לדבר ברשת, אתה צריך כתובת. אבל כדי לקבל כתובת, אתה צריך לדבר. זו הבעיה הבלתי אפשרית ש-DHCP פותר.
DHCP (פרוטוקול תצורה דינמית של מארח) הוא הסיבה שאתה יכול להיכנס לבית קפה, להתחבר ל-Wi-Fi, ולהיות מחובר לאינטרנט תוך שניות. ללא הגדרה ידנית. ללא שיחה למחלקת IT. המכשיר שלך משדר קריאת עזרה אל תוך הריק, ואיכשהו, זהות חוזרת.
בעיית האתחול
כל מכשיר ברשת זקוק לכתובת IP ייחודית כדי לתקשר. אבל למכשיר חדש עדיין אין אחת. הוא לא יכול לשלוח בקשה מנומסת לשרת כי אין לו כתובת מקור — אין לו דרך לקבל תגובה.
הפתרון: להשתמש בשני פורטים ייעודיים ולשדר הכל.
פורט 67 הוא המקום שבו שרתי DHCP מאזינים. הם מחכים לקריאות מהריק.
פורט 68 הוא המקום שבו לקוחות מאזינים. אפילו ללא כתובת IP, מכשיר יכול לקבל חבילות שנשלחות לפורט זה.
מכשיר ללא זהות (כתובת מקור 0.0.0.0) משדר מפורט 68 לפורט 67. השרת מגיב לפורט 68. כך מכשירים מאתחלים את עצמם לקיום.
ריקוד DORA
DHCP מקצה כתובות דרך חילופין בארבעה שלבים: Discover, Offer, Request, Acknowledge.
Discover: המחשב הנייד שלך צועק אל תוך הריק. הוא משדר הודעת DHCPDISCOVER לכתובת 255.255.255.255 (כל מכשיר ברשת המקומית) מכתובת מקור 0.0.0.0. תרגום: "אני קיים אבל אין לי זהות. האם למישהו יש אחת שאני יכול להשתמש בה?"
Offer: כל שרת DHCP שמשמע זאת מגיב עם DHCPOFFER. "הנה כתובת IP שאתה יכול לקחת. היא שלך ל-24 שעות. אתן לך גם את שער הברירה, שרתי DNS, וכל שאר מה שתצטרך." שרתים מרובים עשויים להגיב — מכרז עיוור.
Request: המחשב הנייד שלך בוחר הצעה (בדרך כלל הראשונה שהתקבלה) ומשדר DHCPREQUEST. השידור הזה משרת שתי מטרות: הוא אומר לשרת המנצח "אני מקבל את ההצעה שלך," ומודיע לשרתים שלא נבחרו "שחררו את הכתובת שהצעתם — לא אשתמש בה."
Acknowledge: השרת שנבחר שולח DHCPACK לאישור העסקה. למחשב הנייד שלך יש עכשיו זהות. הוא מגדיר את ממשק הרשת שלו ומצטרף לשיחה.
כל הריקוד הזה אורך אלפיות שנייה. המחשב הנייד שלך יחדש את החכירה מעת לעת כדי לשמור על כתובתו.
למה UDP? למה שידור?
TCP דורש לחיצת יד. לחיצת יד דורשת ששני הצדדים יהיו בעלי כתובות. מכשיר ללא כתובת לא יכול לבצע לחיצת יד. לכן DHCP משתמש ב-UDP — ללא חיבור, ללא לחיצת יד.
שידורים מגיעים לכולם במקטע הרשת המקומית. מכשיר שאינו יודע היכן שרת ה-DHCP נמצא עדיין יכול להגיע אליו על ידי פנייה לכולם. השרת שם ומקשיב.
אבל שידורים לא חוצים נתבים. כאן נכנסים סוכני הממסר לתמונה.
ממסר DHCP: חציית גבולות
לרשתות גדולות יש רשתות משנה רבות המופרדות על ידי נתבים. הצבת שרת DHCP בכל רשת משנה היא בזבזנית וקשה לניהול.
סוכני ממסר DHCP פותרים זאת. נתב המוגדר כסוכן ממסר מיירט שידורי DHCPDISCOVER במקטע המקומי שלו ומעביר אותם כהודעות unicast לשרת DHCP מרכזי. הממסר כולל מידע על איזו רשת משנה שלח את הבקשה, כך שהשרת מקצה כתובת מהמאגר הנכון.
כשהשרת מגיב, הממסר מעביר את התגובה חזרה לרשת המשנה המקורית. מנקודת מבטו של הלקוח, השרת עשוי בהחלט להיות מקומי. שרת DHCP אחד יכול לשרת מאות רשתות משנה ברחבי ארגון שלם.
בעיית האבטחה
האופי האוטומטי של DHCP הוא גם פגיעותו. מכשירים סומכים על מי שעונה ראשון.
שרתי DHCP נוכלים הם האיום העיקרי. תוקף מחבר שרת DHCP לא מורשה ומתחרה לענות לבקשות גילוי לפני השרת הלגיטימי. אם הוא מנצח, הוא יכול להקצות שרתי DNS ושער ברירה משלו — ולנתב את כל תעבורת הקורבן דרך מערכות שהוא שולט בהן. המחשב הנייד שלך לא יודע להבחין בין הצעה לגיטימית לבין הצעה זדונית.
DHCP snooping הוא ההגנה. מתגי ארגון מייעדים פורטים ספציפיים כ"מהימנים" לתעבורת שרתי DHCP. המתג משליך הודעות שרת DHCP שמגיעות מפורטים לא מהימנים. ללא שרת נוכל — ללא תעבורה חטופה. Snooping גם בונה טבלת קישורים המיפה כתובות MAC לכתובות IP ולפורטי מתג, ומאפשרת הגנות נוספות כמו בדיקת ARP דינמית.
מתקפות הרעבה מרוקנות את מאגר הכתובות של השרת. תוקף מבקש כל כתובת פנויה תוך שימוש בכתובות MAC מזויפות, ולא נשאר דבר למכשירים לגיטימיים. הגבלת קצב ואבטחת פורטים עוזרות, אבל הבעיה הבסיסית נשארת — ל-DHCP אין אימות מובנה.
אימות DHCP קיים (RFC 3118) אבל כמעט ואינו נפרס בעולם האמיתי. מורכבות ניהול המפתחות לא שווה את זה כאשר בקרת גישה לרשת ו-802.1X יכולים לאמת מכשירים לפני שהם שולחים אפילו בקשת DHCP.
שאלות נפוצות על DHCP
למה DHCP משתמש בשני פורטים במקום אחד?
מכשיר ללא כתובת IP צריך דרך לקבל תגובות. פורט 68 נותן ללקוחות יעד קבוע שעובד אפילו כשאין להם זהות (0.0.0.0). פורט 67 הוא המקום שבו שרתים מאזינים. ההפרדה פותרת את בעיית האתחול: איך מדברים לרשת לפני שאתה ברשת?
מה קורה אם שני שרתי DHCP מציעים כתובות שונות?
הלקוח מקבל הצעה אחת (בדרך כלל הראשונה שהתקבלה) ומשדר את בחירתו. השרת המנצח מאשר; השרתים שלא נבחרו מחזירים את הכתובות שהציעו למאגרים שלהם. השידור מבטיח שכולם יודעים את התוצאה.
האם DHCP יכול לעבוד על פני רשתות משנה שונות?
לא ישירות — שידורים לא חוצים נתבים. סוכני ממסר DHCP מעבירים בקשות בין רשתות משנה, ומאפשרים לשרת מרכזי לנהל כתובות ברחבי רשת שלמה. הממסר אומר לשרת מאיזו רשת משנה הגיעה הבקשה כדי שיקצה כתובת מתאימה.
איך שרתי DHCP נוכלים תוקפים רשת?
הם מתחרים לענות לבקשות DHCP לפני השרתים הלגיטימיים. אם הם מנצחים, הם יכולים להקצות שרתי DNS ושערים זדוניים, לנתב את תעבורת הקורבן דרך מערכות הנשלטות על ידי התוקפים. למכשירים אין דרך להבחין בין הצעות לגיטימיות לבין זדוניות.
מהו DHCP snooping?
תכונת אבטחה של מתג המייעדת פורטים כמהימנים או לא מהימנים לתעבורת DHCP. רק פורטים מהימנים יכולים לשלוח הודעות שרת DHCP. תגובות שרתים נוכלים המחוברים לפורטים לא מהימנים נשמטות לפני שמגיעות ללקוחות.
האם דף זה היה מועיל?