מה יכולה לכלול כלל גישה לפי שם מארח בכל שכבת רשת
אפשר לאכוף שם שירות ברמת DNS, דפדפן, פרוקסי או חומת אש. בחרו את השכבה שרואה את הזהות שברצונכם למשול בה.
שלושה אנשים מבקשים את אותו הדבר באותן מילים: לחסום גישה לשם שירות אחד. האחד מתכוון לכך שדפדפן לא יפתח את האתר, השני לכך שלקוח קולי לשולחן עבודה לא יגיע לשרת שלו, והשלישי לכך שקבוצת קבלנים לא תשתמש ביישום פנימי מסוים. המשפט זהה, ולמנגנוני האכיפה כמעט אין דבר במשותף.
בחרו את השכבה לפי המזהה שהיא באמת יכולה לראות, ואחר כך לפי הלקוחות שהיא מכסה. התחלה מפקודת חומת אש שאתם כבר מכירים היא הדרך שבה כללים בסופו של דבר לא חוסמים דבר, או חוסמים יותר מדי.
שם אינו זהות שכל שכבה יכולה לבדוק
Netfilter ומסנני מנות דומים רואים כתובות, פרוטוקולים ופורטים. הם אינם רואים שמות מארח, ובזמן שמנה מגיעה אליהם השם כבר נפתר. כלל שנכתב נגד כתובת הוא כלל על אותה כתובת, יהיה השם שהקליד משתמש כדי להגיע אליה אשר יהיה.
מדיניות DNS יושבת מוקדם יותר בנתיב ורואה את השאילתה, שהיא אובייקט שונה מהחיבור שאחריה. היא שולטת בתשובות שמחזיר פותר מבוקר, לא בחיבורים שכבר היו פתוחים, ולא בלקוחות שהוגדרו לעקוף את אותו פותר. כתובת שנפתרה יכולה גם להשתנות בין סקירת המדיניות לבקשה הבאה, ולכן תשובת DNS אינה הצהרת הרשאה מתמשכת.
שכבות גבוהות יותר רואות יותר הקשר ומכסות פחות לקוחות. ההחלפה הזו היא כל הנושא, והיא מסבירה מדוע אף שורה אחת בטבלה אינה התשובה הנכונה. בחרו את השורה שרואה את המזהה שהמדיניות שלכם באמת עוסקת בו. אחר כך קבלו את הכיסוי שהשורה הזו מרמזת עליו.
מה כל שכבה יכולה לזהות
קראו את הטבלה מהעמודה האמצעית החוצה: המזהה ששכבה יכולה לראות מכתיב את המדיניות שהיא יכולה לאכוף ביושר.
| Layer | Identifier it sees | What it cannot see |
|---|---|---|
| Packet filter | address, protocol, port | the name, or which other services share that address |
| DNS policy | the queried name and the answer handed back | connections made by clients that ignore the resolver |
| Managed browser | supported URL patterns on managed profiles | non-browser clients, or unmanaged devices |
| CONNECT proxy | host and port for tunnelled requests | the path inside an encrypted request |
שכבה נכנסת למדיניות רק כאשר המזהה שהיא רואה מתאים למזהה שאתם מושלים בו. הטבלה גם מסבירה מדוע כלל שנכתב בשכבה אחת ממעט לעבור לאחרת בלי להחליט מחדש מה הוא מגן עליו.
היכן הכלל המובן מאליו נכשל
כלל כתובת הוא מדויק עבור שירות עם כתובת ייעודית שאתם שולטים בה, והבעלות הזו צריכה להיכתב במדיניות. הוא שגוי לחלוטין עבור כל דבר שמאחורי כתובת מסירה משותפת של תוכן, שבה אותו כלל נוגע בשירותים לא קשורים ותשובת DNS מרעננת אינה הופכת את הכלל להרשאת שם מארח.
מדיניות דפדפן מנוהל מבטאת הגבלת רשת בצורה ישירה יותר מרשימת כתובות מועתקת, אך היא חלה על הדפדפנים והפרופילים שמערכת הניהול מושלת בהם.
כלל הדפדפן הזה לא עושה דבר לגבי לקוח קולי ששולח UDP למארח אחר, והתבניות שלו מוגדרות על ידי המוצר הזה ולא על ידי מוסכמות תווים כלליים שנלקחו ממקום אחר. פרוקסי CONNECT מקבל גם הוא מארח ופורט לבקשה מנותבת, ואינו יכול לקרוא את הנתיב בתוך הסשן המוצפן. תכננו את הכלל סביב מה שהפרוטוקול חושף. אחר כך כתבו מה הוא משאיר בלתי מכוסה, כי הפער הזה הוא המקום שממנו תגיע הבקשה הבאה.
בחרו לפי הלקוחות, לא לפי הפקודה
שאלו אילו לקוחות המדיניות חייבת לכסות ואילו היא רשאית להחמיץ. מדיניות דפדפן מנוהל מכסה את מה שמערכת הניהול מגיעה אליו ועוצרת בגבול הדפדפן. מדיניות פותר מכסה כל מה שמשתמש בפותר שלכם, שזו קבוצה רחבה יותר, והיא נכשלת בפתוח למי שלא עושה זאת.
עבור שירות שאתם מפעילים, הרשאה ביישום חזקה מכל גבול רשת, כי היא עוקבת אחרי החשבון ולא אחרי הנתיב. מסלול VPN הוא נגישות ותו לא: היכולת לשלוח מנה לשירות אינה הרשאה להשתמש בו. היכן שהמזהה החשוב הוא משתמש או הרשאת ערוץ, אכפו אותו שם והתייחסו לכלל הרשת כשכבה שנייה.
כתבו את הכלל במונחים של המשאב
מדיניות ניתנת להגנה מונה את המשאב, את הזהויות, את היישומים בהיקף ואת הנתיב שנושא אותם, כולל שתי משפחות הכתובות שבשימוש. היא גם מציינת מה יקרה לתשתית משותפת שהכלל ישפיע עליה בדרך אגב.
הניסוח הזה מייצר החלטה שמישהו יוכל לבקר אחר כך. כלל שמבוסס על הכתובת שנפתרה היום מייצר תקרית בפעם הראשונה שהכתובת משתנה, ואיש לא יוכל להסביר מדוע החסימה הייתה אי פעם נכונה.