ננעלתם בגלל לולאת ניסיונות חוזרים של VPN: עצרו קודם את הלקוח
סיסמה שמורה יחד עם התחברות מחדש אוטומטית יכולות להפוך פרט גישה מיושן אחד לנעילת חשבון. מצאו את השולח, עצרו אותו, ואז השתמשו בתהליך השחזור המאושר.
בשעה 02:40 החשבון ננעל ואין איש ליד המקלדת. לקוח על מדף ממשיך להציג את הסיסמה ששמר בחודש שעבר, השער ממשיך לדחות אותה, והמונה שמאחורי הנעילה עולה בלי שאדם כלשהו מעורב. זו לולאת ניסיונות חוזרים ולא מתקפה, והיא חייבת להיעצר לפני שניתן לשחזר את החשבון.
התייחסו לזה כאל שתי בעיות בסדר קבוע. עצרו קודם את השולח, ואחר כך שחזרו את הגישה, כי הסדר ההפוך מפעיל מחדש את הלולאה בתוך דקות.
גלו איזה תהליך שולח את הכשלים
התחילו מחותמות הזמן במערכת הזהות והשוו אותן לכל לקוח שמחזיק בחשבון. פרופיל מנוהל, שירות ללא השגחה, טלפון במגירה ומחשב נייד חלופי עם פרטי גישה ישנים יכולם כולם להזדהות כאותו אדם. זה שנכשל כל כמה שניות הוא הלולאה, וזה שנכשל פעם ביום הוא בדרך כלל אדם ששכח. שניהם מזינים את אותו מונה, ושם המלכודת.
הבחינו בין דחייה לבין שער שאינו נגיש בזמן שאתם מסתכלים. פקיעת זמן, כשל בפתרון שמות או פורט סגור בדרך כלל אינם מגדילים מונה כשלים, בעוד שחילוף אימות שהושלם ומחזיר תוצאה של פרטי גישה שגויים כן מגדיל אותו. ערבוב של השניים מייצר את התיקון הלא נכון, כי האחד דורש לעצור את הלקוח והשני דורש לתקן את הנתיב.
שלושה תנאים שמכריעים את התגובה
שלוש עובדות מצמצמות זאת לתשובה אחת. ראשית, אם הרשומה מציגה דחייה מפורשת או כשל תעבורה. שנית, אם הזהות משותפת בין מכשירים או שירותים. שלישית, אם הלקוח שמנסה שוב הוא אחד שאתם מנהלים או אחד שמישהו אחר שולט בו.
דחייה מפורשת מלקוח יחיד שאתם שולטים בו פירושה לעצור את אותו לקוח, לפתוח את הנעילה במסלול המאושר ולבצע התחברות אחת מכוונת. זהות משותפת דוחפת את התשובה לעבר הקצאה ולא לעבר פתיחת נעילה, כי הלולאה תתחדש ברגע שהמכשיר האחר יתחבר מחדש. כשלי תעבורה מצביעים על שכבת הרשת, שבה הגנת החשבון אינה הנושא כלל.
אף אחד מהענפים האלה אינו כולל החלשת ההגנה. ספי נעילה ומגבלות קצב קיימים משום שאותו אות שמעצבן אתכם בזמן תקלה הוא האות שמאט ניסיון לניחוש סיסמה.
עצרו את השולח לפני שתפתחו את הנעילה
עצרו את היחידה או החיבור שממשיך להזדהות, ועצרו אותו באופן שישרוד אתחול. השהיית הלקוח אינה מספיקה כאשר השירות שלו מוגדר להתחיל אוטומטית בעת האתחול.
# which unit is presenting the credential?
journalctl -u openvpn-client@home --since '20 min ago' | grep -i 'auth\|error'
# stop it, and keep it stopped across reboots
sudo systemctl stop openvpn-client@home
sudo systemctl disable openvpn-client@home
systemctl is-active openvpn-client@home
המתינו כמה דקות וודאו שמונה הכשלים מפסיק לזוז. ההשהיה הזאת היא ההוכחה שמצאתם את המקור הנכון. אם הכשלים נמשכים, הלולאה מגיעה ממקום אחר וצעד פתיחת הנעילה היה מתבזבז.
רק אז השתמשו בתהליך פתיחת הנעילה או השחזור המתועד של המפעיל, ועקבו אחריו בהתחברות מבוקרת אחת בדיוק מהמכשיר שאתם מתכוונים להשאיר. הספים המדויקים, תקופות הצינון ונוסח השחזור תלויים בשירות, אז קראו אותם במקום לנחש מספר.
הסירו את הסיבה כדי שלא תחזור
עדכנו את פרטי הגישה השמורים במקום שבו הם נמצאים בבעלות: במחזיק המפתחות של מערכת ההפעלה, בפרופיל הלקוח או בתצורת חשבון השירות. מחיקתם ממקום אחד בעוד מקום אחר שומר עותק היא הדרך שבה הלולאה חוזרת כעבור שבוע, בדרך כלל כשמחשב נייד שהיה לא מקוון חוזר ומשמיע מחדש את הערך השמור שלו.
תנו לאוטומציה זהות משל עצמה. חשבון שהוקצה בנפרד עם פרטי גישה משלו ומגבלות משלו מונע מכשל של מכונה לנעול אדם מחוץ לדואר האלקטרוני, והוא הופך את הכשל למיוחס ביומנים. הוסיפו נסיגה ללקוח כדי שפרטי גישה שנדחו יעצרו את הניסיונות החוזרים במקום לחזור עליהם, והפעילו התראה על כשלי אימות חוזרים כדי שהלולאה הבאה תובחן בדקות ולא בשעה 02:40.
כשהדוח הולך לתמיכה, שמרו את מזהה החשבון, חותמות הזמן ואת שם הלקוח. סיסמאות וחומר שחזור לעולם אינם שייכים לרשומה הזו.