OpenVPN auth-nocache: מה קורה בהתחברות הבאה
מחיקת פרטי הכניסה של OpenVPN מהזיכרון משנה את האימות הבא. לקוח אינטראקטיבי, קובץ פרטי כניסה ושירות דורשים טיפול שונה.
הפעילו auth-nocache והאזהרה על שמירת הסיסמה במטמון נעלמת, יחד עם העתק של פרטי הכניסה אשר OpenVPN החזיק לקראת המשא ומתן הבא. האם זה יהפוך לבקשה, לניסיון חוזר שקט או למנהרה שנפלה תלוי במקום שממנו מגיעים פרטי הכניסה בפעם השנייה. לכן זהו השוואה בין צורות פריסה ולא פסק דין על האפשרות. קראו את הצורה שאתם באמת מריצים לפני שתערכו פרופיל כלשהו.
מאין חייב להגיע סט פרטי הכניסה השני
OpenVPN מחיל את auth-nocache על הסודות שנאספים על ידי auth-user-pass ו-askpass: לאחר השימוש התהליך משליך אותם במקום להחזיק אותם ללחיצת היד הבאה. משא ומתן מחדש מגיע לפי טיימר, פעם בשעה כברירת מחדל, כך שהבקשה השנייה מגיעה הרבה אחרי שהאדם שהקליד את הסיסמה כבר עבר הלאה. הפער הזה הוא כל הסיפור. כשהמטמון דלוק, הלקוח משחזר את העותק השמור בלי לשאול אף אחד; כשהוא כבוי, עליו למצוא את הסוד במקום אחר או להיכשל.
לכן רשמו כל מקום שממנו הסוד יכול להגיע באותו רגע, והיו כנים לגבי אילו מהם קיימים במארח. אדם ליד מסוף, קובץ ש-auth-user-pass או askpass יכולים לקרוא, או אסימון הפעלה שהשרת מנפיק הם השלושה שחשובים כאן. אם אף אחד מהם אינו זמין, המשא ומתן מחדש נכשל שעה אחרי השינוי ולא ברגע שבו עשיתם אותו.
שלוש צורות, שלוש נקודות כשל
לקוח שולחני עם אדם מולו הוא המקרה הקל: הבקשה חוזרת, מישהו מקליד את הסיסמה שוב, והמחיר הוא תשומת לב. שירות, מכולה או נתב שמריץ OpenVPN בלי מסוף הוא המקרה הקשה, כי אין מי שיענה והחיבור מחדש שהיה שקט פעם מסיים כעת את המנהרה. צורה היברידית נמצאת בין השניים ומתנהגת כמו מקרה השולחן עד שההפעלה שיכלה לענות לבקשה נעלמת. מה שמפריד ביניהם אינו אם מותקן GUI, אלא אם קיים מקור לפרטי כניסה בזמן המשא ומתן.
שייכו את הפריסה שלכם לאחת משלוש הצורות לפני שתשנו משהו, כי העצה שתמצאו באינטרנט נכתבת כמעט תמיד עבור הראשונה. החלת תשובת השולחן על שירות ללא מסוף היא הדרך שבה מנהרה שעבדה חודשים מתחילה ליפול כל שעה.
הנחיה או דגל: בחרו אחד ודעו באיזה השתמשתם
בתוך פרופיל, auth-nocache הוא שורה בפני עצמה; בקריאה שמציינת פרופיל במפורש הוא דגל באותה שורת פקודה, ו-מדריך OpenVPN מפרט את שתי הצורות. שניהם עושים את אותו הדבר לשימור פרטי הכניסה, ואף אחד מהם לא נוגע בסוג הממשק ולא מתקן אזהרה לא קשורה באותו יומן. ההבדל הוא התמדה: הדגל מכסה רק את אותה הרצה, כך ששירות שיופעל מחדש מקובץ unit או מסקריפט עטיפה לא יקבל אותו אלא אם העטיפה תעביר אותו גם.
auth-nocache
openvpn --config /path/client.ovpn --auth-nocacheהחליטו איזה חפץ מחזיק בהגדרה, שנו אותה שם ושום מקום אחר. פרופיל שנערך במחשב נייד ועוד יחידת systemd שדורסת אותו בדגל הם הצמד שמייצר התנהגות סותרת אחרי הפעלה מחדש.
קובץ פרטי כניסה מעביר את הסוד במקום למחוק אותו
הפניית auth-user-pass לקובץ נותנת לכל משא ומתן מאוחר מקור, וגם שמה את הסיסמה במקום ששורד הפעלות מחדש. שאלו מי יכול לקרוא את הקובץ, אם הדמון עוד יכול לקרוא אותו אחרי ויתור על הרשאות, ומה קורה כשמערכת הקבצים מותקנת לקריאה בלבד או שתצוגת מכולה מסתירה את הנתיב. סוד על הדיסק וסוד בזיכרון הם בעיות שונות, ופתרון האחת משאיר את האחרת במקומה. רוטציה היא הצעד שמדלגים עליו: סיסמה ששונתה בשרת אבל לא בקובץ מייצרת כשל שנקרא כמו תקלת רשת.
החזיקו את הקובץ בבעלות החשבון שמריץ את הדמון, בלי שאף אחד אחר יקרא אותו, ומחוץ לגיבויים שעוזבים את המארח. האפשרות auth-gen-token בצד השרת של OpenVPN נותנת ללקוח אסימון הפעלה אחרי התחברות מוצלחת, שזה דבר קטן יותר להשאיר מונח מאשר סיסמת החשבון. כתבו את צעד הרוטציה לצד הקובץ בכל מקרה, כי הקובץ בדרך כלל שורד את האדם שיצר אותו.
מתיחת המשא ומתן מזיזה את העלות, היא לא מסירה אותה
ההצעה האחרת היא להעלות את reneg-sec עד שהבקשה נדירה מספיק כדי להתעלם ממנה. זה כותב מחדש את לוח זמני רוטציית המפתחות של ההפעלה ודוחף את אותה בעיית פרטי כניסה לרגע מאוחר ופחות צפוי; זה לא יוצר מקור לפרטי כניסה. מדיניות שמחדשת מפתחות לפי לוח זמנים מסיבה כלשהי לא צריכה להירפות רק כדי להימנע מהקלדת סיסמה.
בדקו את החיבור מחדש ולא את ההפעלה שאתם יושבים בה, כי ההפעלה החיה לא מוכיחה דבר. הפילו את המנהרה מצד השרת, או הפעילו מחדש את שירות הלקוח, וראו מה עושה המשא ומתן הבא כשאין איש במקלדת. אם הוא מתחבר מחדש, נקבו במנגנון שסיפק את הסוד; אם לא, מצאתם את המחיר האמיתי של האפשרות במארח הזה. כל אחת מהתוצאות נותנת לכם תשובה שמחזיקה בזמן תקלה במקום תשובה שהחזיקה בזמן הבדיקה.
בצי מנוהל, מי שמחזיק בפריסה אמור לדעת לנקוב בשלושה דברים: מאין מגיעים פרטי הכניסה, היכן הם נשמרים ומי מסובב אותם. אם אחת מהתשובות היא האדם שהקים את המארח, האפשרות עדיין לא בטוחה שם.