האם כדאי לשלול את זרימת ה-SSH מלכידה מרחוק?
לכידה מרחוק מתעדת את החיבור שנושא את הפלט של עצמה. החליטו כמה לשלול, ולעולם אל תחברו שתי בדיקות מארח שליליות בעזרת or.
לכידה על מכשיר מרוחק בזמן שאתם צופים בפלט דרך אותו חיבור היא מדידה שמפנה לעצמה, והיא מעוותת את מה שאתם מודדים. כל מנה שאתם מדפיסים חוזרת דרך הסשן שנלכד. שלילת הזרימה הזאת היא בדרך כלל נכונה, אבל גודל השלילה הוא החלטה אמיתית. צר מדי והלכידה מציפה את עצמה; רחב מדי והראיות נעלמות.
למה הלכידה מתעדת את עצמה
הלכידה רואה את נתיב החזרה של הפלט של עצמה. כל שורה שמודפסת במסוף שלכם הופכת למנה אחת או יותר על חיבור הניהול, שאותה המסנן מתאים ומדפיס שוב. התוצאה היא לולאה שגדלה עד שהמאגר או הקישור נכנעים.
לכן לכידה שנכתבת לקובץ נראית תקינה, ואותה לכידה כשמוזרמת בשידור חי הופכת לבלתי שמישה. התעבורה אינה חדשה; אתם יצרתם אותה. לכידה של עשר שניות יכולה לייצר יותר פלט ממה שהקישור יכול לשאת ברגע שהלולאה מתחילה.
בנו את השלילה כקבוצה אחת
התחילו מאיך שהמארח המרוחק רואה את הסשן שלכם, לא מהכתובת במסוף המקומי. מארח קפיצה או התקן NAT יכולים להפוך את הצד שכנגד למשהו שלא הקלדתם מעולם, לכן קראו את הכתובת מנקודת המבט של הצד המרוחק עצמו. לאחר מכן קבצו את המארח ואת הפורט יחד כדי שהשלילה תחול על הזוג.
tcpdump -ni eth0 '(net 10.60.0.0/24) and not (host 203.0.113.77 and tcp port 2222)'הצגת הביטוי כולו במירכאות מונעת מהמעטפת לקרוא את הסוגריים כתחביר. הדפיסו את המסנן שוב לפני שאתם סומכים על התוצאה.
המסנן שנראה נכון ושומר על הכול
המסנן השגוי הוא זה שנקרא באופן טבעי: המקור אינו הצד שכנגד, או היעד אינו הצד שכנגד. עבור מנה מתחנת העבודה שלכם הבדיקה הראשונה נכונה; עבור התשובה השנייה. חיבורן בעזרת or שומר על שני הכיוונים, שזה בדיוק מה שרציתם להפיל.
לוגיקת מסנן pcap נותנת ל-and ול-or אותה קדימות ומעריכה משמאל לימין, לכן סוגריים אינם רשות כשאתם מערבבים ביניהם. שללו ביטוי מקובץ אחד במקום לשלב שתי שלילות. השינוי היחיד הזה מפריד בין מסנן עובד ללכידה מלאה בהקלדות שלכם. תיעוד מסנן pcap קצר מספיק לקריאה במסוף וכדאי לבדוק אותו בכל פעם שמסנן מתנהג באופן לא צפוי.
החליטו לפי מה שהלכידה חייבת להוכיח
החליטו כמה לשלול על ידי שאלה מה הלכידה חייבת להוכיח. אם אתם צריכים לראות תעבורת יישומים לאותו מארח, שללו רק את פורט SSH וקבלו את הרעש מסשנים אחרים. אם המארח אינו רלוונטי לשאלה, שלילתו לגמרי פשוטה יותר ומסירה מחלקה שלמה של מנות עצמיות. כתבו את הבחירה לצד קובץ הלכידה, כי מסנן הוא הנחה לגבי הראיות.
בחירת הממשק קובעת מה בכלל אפשר לראות. במנהרה רואים את התעבורה הפנימית; בממשק הפיזי רואים את התעבורה המוצפנת. אם מנות הניהול כבר חסרות בנקודה שבחרתם, שום שלילה לא תתקן לכידה שמכוונת לשכבה הלא נכונה.