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

שתי שאלות שונות

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

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

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

מה שלושת סוגי הרשומות נותנים לך

רשומת Start פותחת סשן, Interim-Update מדווחת על פעילות בזמן שהוא פתוח, ו-Stop סוגרת אותו. שלושתן נושאות מזהה סשן כדי שהמקבל יוכל לקשר אותן לאירוע שירות אחד.

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

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

למה שם המשתמש אינו הסשן

אדם אחד מתחבר ממחשב נייד בבוקר ומטלפון אחר הצהריים, ושתי הסשנים נושאות את אותו שם חשבון. לא ניתן לסגור Start שמגיע בלי Stop תואם על ידי חיפוש השם ובחירת השורה הפתוחה הוותיקה ביותר.

הקיצור הזה הוא הדרך שבה דוחות שימוש מקבלים משכים בלתי אפשריים.

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

איפה PAM מתאים ואיפה לא

תוסף האימות של OpenVPN קורא לשלבי האימות וניהול החשבונות של PAM. שלב החשבון בודק זכאות; שמו אינו אומר חשבונאות שימוש, והתוסף אינו מפעיל את ווי פתיחת וסגירת הסשן של PAM.

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

לכן הוספת מודול כזה למחסנית אימות אינה יוצרת אירועי ניתוק. אם אתה זקוק למחזור החיים המלא, בחר אינטגרציה שמחזיקה בו: תוסף או בנייה נתמכת שמפיקה Start, Interim-Update ו-Stop כשהחיבור משנה מצב. בדוק את מצב התחזוקה שלו ואת התנהגותו המתועדת כאשר המקבל אינו זמין, כי תוסף שמפיל רשומות בשקט נראה זהה לכזה שמעולם לא שלח אותן. מפרט החשבונאות מגדיר את סמנטיקת הרשומות שעל האינטגרציה לכבד.

ריצת קבלה שמוכיחה את החוזה

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

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

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

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