למצוא מנות VPN שנפלו בלי ללכוד את תוכנן
מוני כללים ורישום מטא-נתונים מצומצם מאתרים זרימת VPN שנפלה בלי לארכב את מה שמשתמשים שולחים. השוו דלתא של מונה אחד עבור בקשה טרייה אחת.
מונה של חומת אש עולה כאשר מנה מתאימה לכלל, והוא עושה זאת בלי לשמור את המנה. זה מספיק כדי לענות על השאלה הראשונה ברוב חקירות הנפילה: האם הזרימה בכלל הגיעה לכלל הזה. לכידת המטען עונה על שאלה אחרת, והיא אוספת כל דבר אחר שחוצה את הממשק בזמן שהיא פועלת. התחילו במונה, ועברו לרישום מטא-נתונים רק כאשר המונה מעורפל.
מונים עונים על השאלה הראשונה
לכל כלל שיכול להתאים יש מונה, וקריאתו לפני בדיקה ואחריה אומרת לכם אם התעבורה הגיעה. זו השוואה של שני מספרים ולא ארכיון, והיא לא עולה דבר באחסון או בחשיפה.
קראו את המונים בכלי שמחזיק בכללים:
iptables -L FORWARD -v -n --line-numbers
nft list rulesetהדלתא היא הראיה. כלל שהמונה שלו לא זז מעולם לא ראה את הזרימה, מה שמצביע על גבול מוקדם יותר: הממשק הלא נכון, הטבלה הלא נכונה או מסלול שמעולם לא שלח לשם את המנה. כלל שהמונה שלו זז ובכל זאת מפיל אומר לכם שהמדיניות עושה את מה שנכתבה לעשות.
מה מונה לא יכול לספר לכם
מונה נותן לכם מספר, לא סיבה. הוא לא יכול להבחין בין מנה שהתאימה לפי כתובת לבין מנה שהתאימה לפי פורט, והוא לא יכול לומר לכם איזה משני כללים דומים תפס את הזרימה. הוא גם לא יכול לומר אם המנה נפלה, נדחתה או התקבלה ואחר כך אבדה, אלא אם תקראו את הכלל שמחזיק במונה.
כאן נכנס רישום מטא-נתונים, וההיקף הוא כל העניין. רשמו ממשק, כיוון, כתובות, פרוטוקול ופסק דין עבור זרימת בדיקה מסוימת. השדות האלה מאתרים גבול כשל בלי לתעד מה המשתמש עשה.
רישום המטען עונה על שאלה אחרת, והוא עונה עליה לגבי כולם בממשק.
רישום מטא-נתונים בהיקף צר
כתבו כלל שמתאים רק לזרימת הבדיקה שלכם, תנו לו קידומת מובחנת, והגבילו את הקצב שלו תחת הבקרות של הפלטפורמה עצמה כדי שניסיון חוזר רגיל לא יציף את האחסון. הקידומת היא מה שמאפשר לכם למצוא את הרשומות שלכם בין כל מה שהמכשיר רושם.
הימנעו מהפעלת רישום מטען או רישום מנות בלתי מוגבל רק מפני שהתכונה קיימת. גם לכידה קטועה אינה פטורה ממטען אוטומטית, שכן גדלי כותרות ופריסות מנות משתנים, כך שאורך תצלום שנראה קטן עדיין יכול לשאת בייטים של יישום.
אם חייבים ללכוד, לכדו זרימה אחת, לזמן מוגבל, עם אורך התצלום הקטן ביותר שעונה על שאלתכם.
התאימו בקשה טרייה אחת
צרו תעבורה בלתי מזיקה שעוקבת אחרי המסלול האמיתי של הלקוח, ואז השוו את המונים הרלוונטיים לפני ואחרי. בדיקה מקומית בשער עלולה להחמיץ כלל העברה לחלוטין, כי המנה לא עוברת במסלול ההעברה. הפעלה קיימת יכולה גם להתאים לטיפול במצב שונה מחיבור חדש, כך שזרימה ארוכת חיים אינה מחליפה זרימה טרייה.
הגבילו את החלון בזמן וכתבו אותו. בין שתי דקות מוגדרות, מכתובת הלקוח הזו, אל היעד הזה בפרוטוקול הזה זו אבחנה. אי שם הבוקר זו חיפוש.
זרימה אחת, חלון אחד, גבול אחד היא יחידת ההתקדמות כאן.
נקו והשאירו רק את הקטע
הסירו את כלל האבחון הזמני דרך התצורה המחזיקה בו ברגע שהחקירה מסתיימת. כלל רישום צר שנשאר במקומו הופך למערכת תיעוד לא מכוונת, ואיש לא זוכר למה הוא קיים חצי שנה אחר כך.
שמרו רשומות מקוריות בפרטיות כשהמדיניות דורשת זאת, ושתפו קטע מזערי שנבדק במקום הלכידה כולה. כתובות, מזהי חשבון וטופולוגיה פנימית רגישים גם כשאין מטען. התייחסו לקטע כמסמך עם בעלים. השחירו כל מה שהאבחון אינו צריך.
המטרה היא גבול כשל מסוים עבור בקשה מסוימת. כל דבר שמייצר ארכיון מלא של כל מי שמשתמש ב-VPN חרג מהאבחון והתחיל פרויקט אחר. בדקו בתיעוד הרישום של הפלטפורמה מה היא רושמת כברירת מחדל לפני שאתם מוסיפים לו משהו.