תכנון חלון תחזוקה של OpenVPN בלי לאבד את המארח
עצור את המנהרה ותאבד את ההפעלה. תעד את היחידה הפעילה, בנה ערכת שחזור, תרגל על מאזין פיילוט, ואז החלף מבחוץ ל-VPN.
הפעלה מחדש של שירות ה-VPN מסיימת כל הפעלה שמשתמשת בו, ולכן החלון חייב להיבנות סביב שיחות ולא סביב מנהל החבילות. משתמשים זקוקים להתראה מספקת כדי לסיים עבודה רגישה, ואתה זקוק לדרך חזרה שאינה תלויה במנהרה שאתה עומד לעצור. כל השאר במדריך קיים כדי להפוך את שתי העובדות האלה לניהולות. דלג על אחת מהן והעדכון השגרתי הופך להשבתה בלי מוצא.
הסדר שלהלן מכוון: כל שלב מייצר משהו שהשלב הבא צריך, וכל שלב יכול לסיים את השינוי לפני שהוא מתחיל.
תעד את השירות שקיים לפני שאתה משנה אותו
קרא את היחידה המותקנת ולא את זו שאתה זוכר שכתבת: systemctl cat [email protected] מדפיס את היחידה וכל drop-in, ו-systemctl show [email protected] -p ExecStart -p User -p WorkingDirectory מראה מה באמת רץ ובאיזו זהות. שאל את הבינרי שהיחידה הזו מציינת, כי openvpn --version מהמעטפת עשוי להתפרש לבנייה אחרת. רשום את נתיב הפרופיל וכל קובץ שהוא מפנה אליו.
שים לב גם לשקעי ההאזנה: ss -lunp | grep 1194 אומר לך איזו כתובת ופרוטוקול הדמון מחזיק היום. אם התשובה אינה מה שהפרופיל מרמז, drop-in או קובץ סביבה מחליף אותו, והשדרוג יירש את ההפתעה הזו.
הרכב ערכת שחזור שמישהו אחר יוכל להשתמש בה
ערכת השחזור חייבת להיות שמישה לעמית בשעה 03:00 בלי ההקשר שלך. כלול את התצורה האפקטיבית עם כל קובץ שהיא מפנה אליו, את חומר האמון והביטול תחת שליטת בעל ה-PKI, את ההקצאות וה-hooks לכל לקוח, ואת גרסאות החבילות המדויקות המותקנות היום. העתקה של שם קובץ אחד אינה תצורה. אחסן אותה במקום שאליו מפעיל התורנות יכול להגיע בלי ה-VPN.
בקרות גישה חלות גם על הערכה הזו, כי היא מכילה מפתחות פרטיים או פרטי גישה ל-backend. אל תבנה מחדש את ה-CA ואל תוציא זהויות מחדש רק מפני שגרסת חבילה השתנתה.
תרגל על מאזין פיילוט עם לקוח אמיתי
הרץ את המהדורה המועמדת על מאזין נפרד עם תוכנית פורט וכתובת משלו, לא לצד מופע הייצור באותו שקע. התחבר עם מנועי הלקוח שהמשתמשים שלך באמת מריצים, כולל זה המסורבל. בדוק הקצאת כתובת, DNS שנדחף, אפליקציה אחת שחשובה, ונתיב אחד שאמור להישאר חסום. hooks מותאמים חייבים לרוץ בהקשר ההרשאות ומערכת הקבצים האמיתי של השירות, כי מעטפת root לא מוכיחה עליהם דבר.
קרא את הערות המהדורה בגלל שינויי התנהגות, לא רק בגלל תכונות חדשות. ברירות המחדל של צופן ו-TLS זזות בין גרסאות, ופרופיל שעדיין מנותח עשוי בכל זאת להיכשל בלחיצת יד. אם השדרוג דורש שינויי פרופיל או תעודה, תכנן זאת כשלב משל עצמו במקום לארוז אותו בעדכון החבילה.
החלף פעם אחת, מנתיב מחוץ למנהרה
התחל את החלון ממסוף או מרשת ניהול שאינה עוברת דרך השירות. ודא שהמשתמשים עודכנו ושמפעיל שני יודע כיצד לחזור אחורה. החל את השינוי המוכן דרך הבעלים שלו, ואז הפעל מחדש עם sudo systemctl restart [email protected] ועקוב אחרי היומן עם journalctl -u openvpn-server@office -b -f. טעינה מחדש מספיקה כשהשתנו רק הגדרות יחידה; פרופיל ששונה דורש הפעלה מחדש של התהליך.
צפה שכל לקוח יתחבר מחדש, וצפה שכמה הפעלות אפליקציה לא יתחדשו. תאם עצירה נקייה עם עומסי העבודה שאינם סובלים זאת.
קבל או חזור אחורה, ואז ספר למשתמשים מה השתנה
קבלה היא התחברות חדשה ועוד פעולה אמיתית ועוד ההגבלות שעדיין בתוקף. יחידה פעילה ושורת מצב ירוקה הן עובדות תהליך. אם הקריטריונים נכשלים בתוך החלון, חזור אחורה בשיטה המוכנה, לא בשחזור קובץ אחד ובתקווה; בינרי או מדיניות שירות ששונו שורדים שחזור תצורה. שמור כל שינוי ביטול או הרשאה שנעשה במהלך החלון כדי שהחזרה אחורה לא תבטל עבודת אבטחה.
תעד את הגרסאות, שינויי הפרופיל ותוצאות הקבלה עבור המפעיל הבא, הוצא את מאזין הפיילוט משימוש, ואמור למשתמשים באיזה פרופיל להשתמש עכשיו. חלון שמסתיים בלי ההערה הזו נידון מחדש בעדכון הבא.