ננעלתם מחוץ לשרת ה-VPN שלכם: שמרו על דרך שנייה פנימה
מנהרה שבורה לא אמורה לקחת מכם גם את היכולת לתקן את השרת. תכננו, בדקו וסקרו מסלול ניהולי עצמאי לפני שתזדקקו לו.
אתם פותחים את המסוף, משנים כלל חומת אש אחד, והמנהרה שדרכה הייתם מחוברים נעלמת. השינוי היה נכון, הטעינה מחדש לא, ועכשיו הדרך היחידה חזרה אל המכונה היא זו שזה עתה שברתם. דרך שנייה פנימה היא החלטת תכנון, והיא חייבת להתקיים לפני התקלה, לא במהלכה.
עברו על מה שעוד נשאר לכם
התחילו ממסך המסוף שלפניכם ורשמו את המסלולים שאינם תלויים במנהרה. מסוף ווב של הספק עם הפעלה סדרתית או VNC הוא אחד. ממשק ניהול ברשת נפרדת הוא אחר. גישה פיזית היא השלישית, והיא זו שאנשים מגלים שחסרה ברגע הגרוע ביותר.
| Path | Depends on | Usually fails when |
|---|---|---|
| Provider console | Account access and the provider's own API | Credentials live in a wiki only reachable over the tunnel |
| Management subnet | A second interface and its own routing | The bad change was a global route or firewall policy |
| Second tunnel | A different listener, port and credentials | Both listeners were changed in the same edit |
| Physical or local console | Being in the building | Nobody 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 מכסה את התנהגות המצב והאתחול המשמשת כאן, כולל כיצד טעינה מחדש שנכשלה משאירה את התהליך הקודם פועל. שחזור גרסה עקבית עדיף על התחברות חוזרת שוב ושוב מלקוח שאינו יכול לתקן את השרת. אם תנאי החזרה שהגדרתם לפני השינוי התקיים, שחזרו ועצרו.
שמרו על המלאי מעודכן
סקרו את רשימת הגישה כשאנשים או תשתית משתנים. בדקו את מסלול השחזור כשהכול עובד. פרשו את החשבונות שאיש לא השתמש בהם מאז הארגון מחדש האחרון. שני חשבונות מיושנים ותעודה שפגה הם ניקוי קטן ביום שלישי ותקלה ביום ראשון.
רשמו מי יכול להשתמש בכל מסלול, מה הוא מתיר וכיצד מסובבים את פרטי ההזדהות. מסלול שחזור בלי בעלים הופך לכניסה נשכחת, וזה סוג אחר של כשל מלהיות נעול בחוץ.