Nextcloud דרך VPN בלבד: מפו תחילה כל נקודת כניסה
הגנה על דף האינטרנט אינה מספיקה: לקוחות סנכרון, WebDAV, קישורים משותפים ונתיבי פרוקסי זקוקים לאותה כניסה פרטית. מפו אותם לפני שסוגרים אותה.
תוכנית Nextcloud דרך VPN בלבד נכשלת כשהיא מגנה על הדפדפן ושוכחת את לקוח הסנכרון. דף האינטרנט, מנוע הסנכרון לשולחן העבודה, ההעלאות מהנייד, כלי WebDAV ומקבלי הקישורים המשותפים כולם זקוקים לנתיב לאותו שירות, וכל אחד מהם יכול לחשוף נקודת כניסה אחרת. מפו אותם לפני שסוגרים משהו. הרשימה הזו היא ההיקף האמיתי.
עברו על רשימת הבדיקה לפי הסדר. הפריט הראשון מגדיר מה פירוש פרטי בפריסה הזו; הפריטים המאוחרים בודקים אם הפריסה באמת תואמת את ההגדרה.
הגדירו מהו פרטי לפני שינוי ההיקף
כתבו את הדרישה במשפט אחד: כל משתמש חייב להצטרף ל-VPN לפני שהוא מגיע ליישום, או שהיישום יכול להישאר ציבורי בעוד המקור שלו נשאר פרטי. אלו תכנונים שונים, ופרוקסי הפוך ציבורי שמעביר לתוך מנהרה פרטית עונה רק על השני.
כתובת backend פרטית אינה הופכת את היישום לפרטי. אם מיפוי ציבורי, שם מארח שני או מאזין IPv6 עדיין מגיעים לאותה מופע Nextcloud, נקודת הכניסה קיימת ללא קשר למקום שבו ה-backend נמצא. בדקו כל שם מבחוץ לפני שאתם מכריזים שהשירות פרטי. רשומת DNS חסרה אינה זהה לפורט סגור.
סכמו גם על קהל היעד: עובדים, משק בית, ארגון שותף או תת-קבוצה של חשבונות. התשובה קובעת אם קישור שיתוף ציבורי הוא תכונה או סתירה. כתבו את הקהל הזה בתוכנית הגישה. זה המבחן לכל חריגה שתבוא.
מפו כל נקודת כניסה וכל שם
פרטו מיפויי כתובות ציבוריים, פרוקסים הפוכים, שמות מארח חלופיים, מאזיני IPv6 וכל כתובת מנהרה או רשת שמגיעה לשירות. כללו את השמות שנפתרים לכתובות האלה, כי רשומת DNS שנשכחה היא נקודת כניסה עם תווית ידידותית.
בדקו את תצורת הפרוקסי מבחינת כותרות מועברות ובלוקי שרת חלופיים. פרוקסי שנוסף עבור יישום אחר יכול לחשוף את אותו upstream דרך נתיב או דרך מארח וירטואלי שנותר. קראו את התצורה בפועל ולא את התרשים המתוכנן. השניים מתפצלים לרוב לאחר שהיישום הועבר.
אחר כך חסמו את נקודות הכניסה שלא בחרתם. backend פרטי עם חזית ציבורית אינו תכנון של VPN בלבד, וכלל חומת אש שמכסה רק IPv4 משאיר את מאזין ה-IPv6 פתוח. סגרו את שתי המשפחות ושתי השמות באותו שינוי.
תנו לכל לקוח שם שירות אחד
כוונו DNS פרטי לשירות, נתבו את השם הזה דרך ה-VPN והנפיקו עבורו את התעודה. השם חייב להיפתר דרך הנתיב הפרטי ולהיות מאומת בלי אזהרה. לקוח שמגיע ישירות ל-IP עדיין צריך שהשם יעבוד.
לקוחות שמתחברים דרך כתובת IP לא קשורה לא אמורים לגרום לביטול שגיאות תעודה כדי שהתכנון יעבוד. שם יציב גם מונע מלקוחות סנכרון ליצור רשומות שרת כפולות כשכתובת משתנה. זה ההבדל בין שירות פרטי ל-IP פרטי.
השאירו את אימות התעודות פעיל. רשת פרטית מצמצמת חשיפה אבל אינה הופכת חיבור TLS לא מאומת לקביל, ולקוח שהורגל להתעלם מאזהרות יתעלם מהן גם ברשתות אחרות.
הגבילו גישת רשת, לא את כל ה-LAN
אפשרו למשתמשים רשומים להגיע לשירות Nextcloud ולתלות הנדרשת שלו, והשאירו את ניהול השרת בנתיב נפרד. VPN אשר מכניס לקוח לכל רשת הבית או המשרד נותן ללקוח הזה הרבה יותר ממה שהיישום דורש.
כניסה ל-VPN אינה מחליפה חשבונות, הרשאות או אימות נוסף של Nextcloud. היישום עדיין מחליט איזה משתמש רשאי לקרוא איזה קובץ, ושכבת הרשת לא צריכה להיות הבקרה היחידה.
רשמו את טווח המקור המאושר ואת פורטי השירות. בעל היעד זקוק למקור הנצפה, ו-NAT או פרוקסי יכולים לכתוב אותו מחדש לפני שהבקשה מגיעה ליישום.
סקרו כל תהליך עבודה מחוץ לדפדפן
סנכרון שולחן העבודה וההעלאות מהנייד פותחים חיבורים משלהם בזמנים משלהם. הם זקוקים לנתיב הפרטי המאושר כשהם מתחברים, והם יכולים להתנהג אחרת כשה-VPN חסר: לנסות שוב, להשהות או להציג שגיאה. בדקו כל אחד מהם, לא רק את הדפדפן.
כלי WebDAV ולקוחות יומן או אנשי קשר הם אינטגרציות נפרדות עם תצורה משלהן. לקוח ששומר URL ציבורי במטמון ממשיך לנסות את אותו URL לאחר שינוי ההיקף, והכשל נראה כמו בעיית יישום.
קישורים משותפים ראויים להחלטה מפורשת. קישור אינו מעניק למקבל שלו גישת VPN, לכן בתכנון אמיתי של VPN בלבד מקבל חיצוני אינו יכול להשתמש בו למרות שהקישור תקף. אם שיתוף החוצה נדרש, זו חריגה מכוונת עם נתיב גישה משלה, לא מחדל שמתגלה מאוחר יותר.
פדרציה ואינטגרציות שרת לשרת זקוקות לאותה התייחסות. אלו יחסי נגישות בין התקנות, ופריסה פרטית בלבד חייבת לומר אם הם נתמכים.
קבלו גם את המקרה המותר וגם את המקרה הנדחה
מלקוח מאושר, בדקו את ממשק האינטרנט והעלאת או הורדת קובץ רגילה. אחר כך בדקו לקוח סנכרון ותהליך עבודה אחד מחוץ לדפדפן. הצלחה בדפדפן בלבד אינה קבלה.
מנתיב לא מאושר, אשרו שהיישום אינו נגיש דרך כל נקודת כניסה ברשימה. בדקו את שם המארח החלופי ואת כתובת ה-IPv6, לא רק את כתובת ה-URL הראשית.
לבסוף, סקרו את הגדרות היישום שקל להתבלבל בינן לבין מדיניות רשת. trusted_domains מפרט שמות שהמופע מקבל; זו אינה רשימת היתר של כתובות IP של לקוחות. אם פרוקסי הפוך מספק מידע כתובת, trusted_proxies חייב לנקוב בפרוקסי בפועל, וכותרות מועברות צריכות להתקבל רק ממנו.
המשיכו בעבודת החיזוק הרגילה לצד שינוי הרשת: הרחיקו נתונים וגיבויים מנתיבי אינטרנט לא מכוונים, עדכנו את היישום, הגנו על גישת מנהל ושמרו על שחזור שמיש. VPN מסיר משטח כניסה אחד; הוא אינו הופך לקוח רשום לאמין.