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

התחילו מהקהל, לא מכתובת ה-URL

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

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

עברו דרך הכניסה הקדמית והמשטחים שמאחוריה

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

dig +short staging.example.com
curl -sS -o /dev/null -w "%{http_code}\n" https://staging.example.com/
curl -sS -o /dev/null -w "%{http_code}\n" https://staging.example.com/admin

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

בדקו מה הסביבה יכולה לעשות, לא רק מה היא מציגה

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

aws sts get-caller-identity

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

שמרו על הגבול אחרי שהסקירה נגמרת

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

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

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