אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » חדשות אינטרנט » תפסיקו כבר להפעיל דיבאגרים על אתרי פרודקשן

תפסיקו כבר להפעיל דיבאגרים על אתרי פרודקשן

רן בר-זיק אוקטובר 30, 2022 7:26 am 4 תגובות

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

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

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

הפרשה פורסמה בדה מרקר ובהארץ.

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

אז מה קרה?

בקצרה ממש בפודקאסט סייברסייבר שבו אני חבר מערכת אנחנו מפעילים תיבת הדלפות אנונימית. בתיבת ההדלפות התקבל מסר מגורם צד שלישי שזהותו לא ידועה עם כמה ג׳יגות של מידע – ספר הבוחרים המלא והמעודכן של מדינת ישראל עם פרטים נוספים והסבר קצר על הדרך. מאיפה המקור? נו, הפעם במערכת המידע של ש״ס, יחד עם ה-מ-ו-ן נתונים אחרים שהמדאיגים שבהם הם מספרי טלפון קווים וניידים וכן קשרים בין בני משפחה. כמובן שמדובר בספר הבוחרים המעודכן. אם הייתם בני פחות מ-18 כאשר מאגר הנתונים של אלקטור דלף (לפני שנתיים) אז עכשיו הפרטים שלכם גם הודלפו. אם הכתובות שלכם כבר השתנו מאז? אז עכשיו גם הם דלפו. יום חג לכל ספאמר, סקאמר ועבריין ועוד דוגמה מאוד מאוד מאוד מצערת לאיך שהמידע שלנו דולף לו לכל פינה. קיבלתם שיחה מ״חברת ביטוח״ שרוצה לעשות לכם בדיקה לתיק הביטוחי והם משתמשים בפרטים שלכם? זה בגלל מאגרים כאלו. שיחות ספאם בלתי נדלות מקבר רחל? זה המאגרים האלו. תקיפות שונות ומשונות? כנ״ל. והרשויות? הצחקתם את סבתא שלי.

אז מה קרה שם מבחינה טכנית?

אני לא מאמין למקורות אנונימיים שמספרים לי שדלף מידע, גם אם הם מספקים את המידע. במקרה הזה גם היה הסבר טכני פשוט עם מילה אחת: דיבאגבר. דיבאגבר, למי שלא מכיר, זו מערכת אולטרא יעילה ונחמדה ל-PHP שמאפשרת לנו לעשות דיבאגינג בקלות וביעילות. ב-Laravel, שזה הפריימוורק של PHP שש״ס השתמשו בו למערכת ניהול הבחירות שלהם, גם השתמשו בו. הדיבאגבר חושף URL בשם:

_debugbar/open

זה URL של ברירת המחדל. מי שייכנס ל-URL הזה יראה אובייקטים של דיבאג:

לכל אובייקט כזה יש ID. רואים בקשות ותנועות שונות של פעולות. מה שמעניין אותנו הוא ה-ID. מה שאנחנו צריכים לעשות זה להכניס אותו לתוך ה-URL הזה:

/_debugbar/open?op=get&id=THE_ID

ה-URL הקסום הזה מחזיר את הסשן של המשתמש שעשה את הפעולה (אם מדובר בפעולה שנעשתה על ידי משתמש).

הסשן הזה (נקרא shas_session!!!) הוא בעצם סשן של משתמש במערכת. מדביקים אותו בעוגיה עם כלי המפתחים:

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

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

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

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

if( in_array( Request::ip() , [allowed(IPs] ) ) {
    config(['app.debug' => true]);
}

אבל יש דרכים אחרות ויותר טובות שאולי מגבילות את השימוש למשתמשים מחוברים. כאן יש הסבר למי שמשתמש ב-Laravel Debugbar.

אבל זה לא רק PHP. זה כל שפה/פריימוורק אחר שיש – פלט דיבאגינג או דיבאגר? רק למפתחים בסביבת פיתוח או לפחות עם הגבלה משמעותית של הפלט. כך למשל פורץ הצליח להשחית את אתר ערוץ 10 בזמנו כי השאירו פלט שגיאות חשוף. איך מונעים פלט שגיאות באתרים אחרים?

ב-PHP/וורדפרס כדאי להקפיד שב-wp-config.php יהיה:

define('WP_DEBUG', false);

אם אתם בכל זאת רוצים דיבאג, השתמשו ב:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);

והלוג יודפס ל-wp-content/debug.log. זה לא אופטימלי אבל זה לפחות לא מראה על המסך מה קורה. מומלץ מאוד להגביל את הקובץ לקריאה מהרשת ולקרוא אותו בדרך אחרת שהיא לא דפדפן או לפחות לכבות את פלט השגיאות.

ב-Node.js\express ה-trace מכובה במצב שה-Node_ENV הוא בפרודקשן. אבל יש גם תיעוד ששווה לקרוא.

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

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

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
אבטחת מידע חדשות אינטרנט

4 תגובות

  1. אשת תוכנה הגב אוקטובר 30, 2022 בשעה 7:51 am

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

  2. מולי באהר הגב אוקטובר 30, 2022 בשעה 9:53 am

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

  3. אלעד הגב אוקטובר 30, 2022 בשעה 1:19 pm

    בlaravel צריך להוסיף בקובץ env
    "`
    DEBUGBAR_ENABLED=false
    "`
    ואם כבר מדברים אז כדי שאם יש שגיאות הם לא יוצגו בצד לקוח
    "`
    APP_DEBUG=false
    "`

  4. סער הגב אוקטובר 31, 2022 בשעה 2:09 pm

    אתה מחזיר אותי ל2020 לדליפה של אלקטור… מי ידע שידרשו רק עוד שנתיים ל"עידכון" של המידע.
    עצוב

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד