אתם פותחים את המסוף, משנים כלל חומת אש אחד, והמנהרה שדרכה הייתם מחוברים נעלמת. השינוי היה נכון, הטעינה מחדש לא, ועכשיו הדרך היחידה חזרה אל המכונה היא זו שזה עתה שברתם. דרך שנייה פנימה היא החלטת תכנון, והיא חייבת להתקיים לפני התקלה, לא במהלכה.

עברו על מה שעוד נשאר לכם

התחילו ממסך המסוף שלפניכם ורשמו את המסלולים שאינם תלויים במנהרה. מסוף ווב של הספק עם הפעלה סדרתית או VNC הוא אחד. ממשק ניהול ברשת נפרדת הוא אחר. גישה פיזית היא השלישית, והיא זו שאנשים מגלים שחסרה ברגע הגרוע ביותר.

PathDepends onUsually fails when
Provider consoleAccount access and the provider's own APICredentials live in a wiki only reachable over the tunnel
Management subnetA second interface and its own routingThe bad change was a global route or firewall policy
Second tunnelA different listener, port and credentialsBoth listeners were changed in the same edit
Physical or local consoleBeing in the buildingNobody has been in the building for a year

קראו את העמודה השלישית כרשימת כשלים ולא כהפשטה. שניים מהמסלולים האלה נכשלים בדרך כלל מאותה סיבה. הטבלה היא הדרך לשים לב לכך לפני שתקלה תסביר לכם אותה.

עצמאות היא שאלה של תלות

חשבון שחזור אינו עצמאי אם הסיסמה שלו נשמרת בשירות שאליו אתם מגיעים דרך המנהרה. VPN שני על אותו מארח, אותו פורט ואותה מדיניות חומת אש גם הוא אינו עצמאי, מפני שהשינוי ששבר את הראשון שובר את שניהם.

רדו לאורך השרשרת ותנו שם למה שכל שלב דורש. נגישות רשת, פתרון שמות, מקור אימות ושירות הניהול עצמו הם ארבעה תלויות נפרדות, ומסלול שחולק אחד מהם יורש את הכשל הזה.

המסלול שמעולם לא נבדק ראוי לחשד משל עצמו. מסוף שלא נפתח חודשים עשוי לדרוש איפוס סיסמה בדואר אלקטרוני, ותיבת הדואר הזו עשויה להתארח במכונה שאליה אינכם מגיעים. בדקו את המסלול כשהכול עובד ותמצאו את זה אחר צהריים שקט.

השתמשו בדרך השנייה לשינוי אחד מבוקר

מהמסוף, קחו תמונת מצב או העתיקו את התצורה שאתם עומדים לערוך. שנו דבר אחד. טענו מחדש את השירות וקראו את התוצאה לפני שנוגעים במשהו אחר, מפני ששני שינויים בבת אחת הופכים שחזור לניסוי.

השאירו את הפעלת השחזור פתוחה בזמן שאתם עושים זאת. כל הערך של הדרך השנייה הוא שהיא שורדת את מה שאתם משנים, ולכן סגירתה קודם מסירה את התכונה היחידה שהפכה אותה לשימושית.

אמתו ממסלול השחזור, לא מהזיכרון

הבדיקה שמשנה היא אם המסלול הרגיל חוזר, והפעלת השחזור היא המקום שבו אתם מאשרים זאת לפי הסדר:

systemctl status openvpn-server@server --no-pager
ss -lntup | grep -E ':(1194|443)\b'
nft list ruleset | sed -n '1,40p'
journalctl -u openvpn-server@server --since '-10 min' --no-pager | tail -n 30

קראו תחילה את מצב השירות, אחר כך את המאזין, אחר כך את הכללים, אחר כך את היומן. שירות שרץ בלי מאזין מצביע על תצורת השירות, ואילו מאזין בלי כללים נגישים מצביע על סינון. הסדר חשוב מפני שכל שלב מצמצם את הבא, וקפיצה ליומן פירושה בדרך כלל קריאת שגיאות שמתארות את התסמין ולא את הסיבה.

התיעוד של systemctl מכסה את התנהגות המצב והאתחול המשמשת כאן, כולל כיצד טעינה מחדש שנכשלה משאירה את התהליך הקודם פועל. שחזור גרסה עקבית עדיף על התחברות חוזרת שוב ושוב מלקוח שאינו יכול לתקן את השרת. אם תנאי החזרה שהגדרתם לפני השינוי התקיים, שחזרו ועצרו.

שמרו על המלאי מעודכן

סקרו את רשימת הגישה כשאנשים או תשתית משתנים. בדקו את מסלול השחזור כשהכול עובד. פרשו את החשבונות שאיש לא השתמש בהם מאז הארגון מחדש האחרון. שני חשבונות מיושנים ותעודה שפגה הם ניקוי קטן ביום שלישי ותקלה ביום ראשון.

רשמו מי יכול להשתמש בכל מסלול, מה הוא מתיר וכיצד מסובבים את פרטי ההזדהות. מסלול שחזור בלי בעלים הופך לכניסה נשכחת, וזה סוג אחר של כשל מלהיות נעול בחוץ.

מאמרים קשורים