כיצד להגן על האתר שלכם מקוד זדוני או קוד לא מוכר שמישהו שם ב Google Tag Manager

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

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

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

האם אפשר לחסום קוד מצורת custom html או כל תגית מסוג אחר?

התשובה היא כן. ואכן גוגל מאפשרים לכם ליצור רשימה שחורה (Blacklist) של כל התגיות שאתם לא רוצים להריץ, או רשימה לבנה (White list) שרק מי שנמצא שם יכול לרוץ.

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

אבל רגע, מה זאת אומרת "לחסום"? זה אומר שאני אכנס ל GTM ופשוט לא תהיה לי האופציה לייצר תג מסוג מסויים? האפשרות פשוט תעלם מהמסך?

לא ממש. ואני אסביר:

איך זה מתבצע

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

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

<script>

dataLayer = [];

</script>

אז לצערי צריך לחזור למפתח עכשיו, ולבקש ממנו להוסיף שורה מיוחדת בתוך ה Datalayer. התפקיד של השורה הזו הוא לבדוק את התגיות שרצות ואם הם ב Balcklist – לחסום אותם. ואם הם ב Whitelist – אז לאשר אותם. אם שמתם תגית מסויימת או סוג תגיות מסויים בשתי הרשימות, התגית לא תרוץ (Blacklist חזק יותר).

כל פעם שתרצו לעדכן את ה Blacklist/whitelist – תצטרכו את עזרת המפתח. אבל לא לדאוג. זו פעולה שתצטרכו לעשות לעיתים נדירות (אני מקווה).

אזהרות מסע:

  1. כאן תמצאו רשימה של כל התגיות והכלים המובנים בתוך GTM עם שם הקוד שלהם שיעזור לכם להגדיר את הכללים באופן תקין.
  2. לכל סוג תגית יש ID שמזהה אותה באופן אישי כדי שתוכלו לחסום (או לאשר) רק אותם באופן ספציפי, למשל, cegg מייצג את כל התגיות המוכנות של CrazyEgg (מערכת ליצירת מפות חום).
  3. לכל סוג תגית יש גם "משפחה" שהיא שייכת אליה, כך שאתם יכולים באופן גורף למנוע או להתיר רק לסוג מסויים של תגיות לרוץ. למשפחה קוראים Class ובלינק שנתתי מקודם תראו את שם ה Class לכל תגית. קחו בחשבון שאם חסמתם קלאס מסוג מסויים, זה חוסם את כל סוגי התגים תחת אותו הקלאס. אז תעברו בעיון על הלינק ותוודאו שאתם לא עושים שטויות.
  4. לבדוק לבדוק לבדוק!!

קדימה, דוגמאות

הנה חסימה של Custom html (יחסום גם Custom javascript variables וכל מה שנחשב "קוד חופשי" במערכת):

<script>
dataLayer = [{
'gtm.blacklist' : ['customPixels']
}];
</script>

והנה חסימה של כמעט הכל למעט פיקסלים וקודים השייכים לגוגל (אדוורדס, אנליטיקס, Doubleclick  וחבריהם יעברו). אגב, אם תשימו את זה בטעות ב Blacklist במקום  Whitelist, זה יחסום כמעט של פיצ'ר של GTM כמו האזנה להקלקות, משתנים של JS ועוד.

<script>

dataLayer = [{

'gtm.whitelist' : ['google']

}];

</script>

הבנתם את העקרון? אני אחזור על זה. מחפשים בקישור שנתתי את סוג התג שרוצים לחסום, ומזהים את השם שלו או את המשפחה שהוא שייך אליה (Class).. מוסיפים את ה ID או את ה Class של התגית ל White או ל Blacklist בתוך ה Datalayer – וזהו.

אבל יש בעיה..

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

בהצלחה למאבטחים!

האם המאמר עזר?
  • המאמר מאת:
    אסף טרפיקנט
    מנכ"ל Quickwin שיווק באינטרנט (קידום, פרסום ומדיה חברתית). מומחה ווב אנליטיקס ושיפור יחס המרה באתר. אוהב את השילוב האופטימלי בין רגש (התנהגות גולשים) וטכנולוגיה (האתר שלכם).

סודות האנליטיקס

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

ווב אנליטיקס ישראל

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

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

תוסף כרום להורדה!

עובדים עם Google url builder על מנת לעקוב אחרי כל הקישורים שאתם מפזרים ברשת? התקינו את תוסף הכרום שפותח על ידנו ומשתמשים בו מעל ל 30,000 איש ברחבי העולם!! לדף התוסף בחנות של כרום

סודות האנליטיקס

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