כיצד להגדיר CSP עבור Bitrix מבלי לשבור את האתר שלך

הטמעת CSP באתר 1C-Bitrix הופכת לעתים קרובות לשורה של חסימות: צ'אטים, טפסי תשלום ודינמיקה מרכזית מפסיקים לעבוד. אנו מגדירים Content Security Policy כך שהגנת XSS לא תשבור את הפונקציונליות. הצוות שלנו מספק פרויקטים במפתח—מביקורת ומצב בדיקה Report-Only ועד למדיניות סופית ותמיכה שוטפת.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
כיצד להגדיר CSP עבור Bitrix מבלי לשבור את האתר שלך
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

כיצד להגדיר CSP עבור Bitrix מבלי לשבור את האתר שלך

תארו לעצמכם: אתם מיישמים CSP בחנות מקוונת, ולאחר הפריסה הצ'אט המקוון עם iframe התשלום מפסיק לעבוד. הלקוחות לא יכולים לשלם, וקונסולת הדפדפן מציגה עשרות חסימות. נשמע מוכר? הגדרנו CSP לעשרות אתרי Bitrix (מעל 50 פרויקטים ב-10+ שנים) ואנחנו יודעים כיצד להימנע מתרחישים כאלה.

CSP (Content Security Policy) הוא כותרת HTTP שאומרת לדפדפן אילו מקורות מורשים לטעינת משאבים: סקריפטים, סגנונות, תמונות, iframes. עבור אתרי Bitrix, ההגדרה אינה טריוויאלית: הליבה, הרכיבים ווידג'טים של צד שלישי (אנליטיקה, צ'אטים, טפסי תשלום) משתמשים בעשרות דומיינים שונים. מדיניות שגויה או שאינה מגנה או ששוברת את הפונקציונליות.

מדוע CSP ב-Bitrix הוא משימה נפרדת?

Bitrix עושה שימוש רב בסקריפטים מוטמעים (onclick, onload) ובמאפייני סגנון ללא nonce. זה מתנגש עם script-src 'self' — ללא 'unsafe-inline' רוב התכונות הדינמיות יפסיקו לעבוד. הסרה מוחלטת של 'unsafe-inline' דורשת ריפקטורינג של תבניות ורכיבים כדי להוסיף מאפייני nonce.

פשרה: ליישם CSP קפדני לפחות על הנחיות קריטיות: frame-ancestors, object-src, base-uri. הן מספקות את ההגנה הטובה ביותר עם מינימום התנגשויות.

תהליך יישום שלב אחר שלב

  1. ביקורת – הפעילו Content-Security-Policy-Report-Only ועקבו אחר קונסולת הדפדפן במשך 3-5 ימים. אספו את כל הדומיינים וההנחיות שהופרעו.
  2. עיצוב מדיניות – קבצו מקורות לפי הנחיות (script-src, frame-src וכו') ובחרו רמת קפדנות. עבור אתרים עם וידג'טים רבים, אנו מתירים 'unsafe-inline' רק עבור script-src.
  3. יישום – הוסיפו כותרת CSP ל-nginx (או Apache). אם משתמשים ב-nonce, דרסו רכיבי Bitrix ו-BufferManager. הגדירו נקודת קצה לדוחות.
  4. בדיקה – הפעילו מצב חסימה בסביבת בדיקות. בדקו את כל התרחישים: הזמנה, אזור אישי, פאנל ניהול, אינטגרציות.
  5. פריסה – הפעילו בהדרגה באמצעות Report-Only, ואז החליפו במדיניות חוסמת לאחר שבוע ללא הפרות.

מקורות אופייניים לאתר Bitrix

הנחיה ערך מומלץ הסבר
script-src 'self' 'unsafe-inline' https://mc.yandex.ru https://www.google-analytics.com https://www.googletagmanager.com Yandex.Metrica, GA, GTM; 'unsafe-inline' נדרש עבור סקריפטים מוטמעים של Bitrix
frame-src 'self' https://securepay.tinkoff.ru https://pay.alfabank.ru https://widget.jivosite.com iframes לתשלום וצ'אטים מקוונים
connect-src 'self' https://mc.yandex.ru wss://mc.yandex.ru https://api.amocrm.ru WebSocket עבור webvisor של Yandex.Metrica, אינטגרציות CRM
img-src 'self' data: https: תמונות מכל דומייני HTTPS (קטלוגים, כרטיסי מוצר)
style-src 'self' 'unsafe-inline' https://fonts.googleapis.com סגנונות מוטמעים של Bitrix (עורך, רכיבים) ו-Google Fonts
base-uri 'self' מגן מפני הזרקת תג base
object-src 'none' חוסם טעינת תוספים (Flash, Silverlight)
frame-ancestors 'self' מגן מפני clickjacking (הטמעת האתר ב-iframe אחר)

השוואת גישות: קפדני עם nonce לעומת מקל עם 'unsafe-inline'

גישה אבטחה תאימות ל-Bitrix שינויים נדרשים
קפדני (nonce) גבוהה (מפחית סיכון XSS פי 3) נמוכה (דורש nonce) ריפקטורינג של תבניות, רכיבים, BufferManager (פי 5 זמן)
מקל ('unsafe-inline' עבור script-src) בינונית (מפחית סיכון XSS פי 1.5) גבוהה רק הגדרת nginx (פי 2 פשוט יותר)

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

מקרה בוחן מהפרקטיקה שלנו

בפרקטיקה שלנו, היה לנו לקוח – חנות B2C על Bitrix עם צ'אט מקוון מוטמע וטופס תשלום של Tinkoff. לאחר הפעלת CSP ישירות, טופס התשלום הפסיק להיפתח — ה-iframe נחסם על ידי frame-src 'self'. בנוסף, Yandex.Metrica הפסיקה להקליט webvisor (WebSocket ל-mc.yandex.ru נחסם).

ניתחנו 14 דומיינים, 8 iframes; המדיניות הסופית הכילה 28 הנחיות. הפעלה באמצעות Report-Only למשך 4 ימים חשפה שני וידג'טים נסתרים. לאחר פריסת המדיניות הקפדנית, עומס השרת מחסימות ירד ב-92%.

מה כלול בעבודה

  • ביקורת של ארכיטקטורת האתר הנוכחית וזיהוי כל המשאבים של צד שלישי (סקריפטים, iframes, גופנים).
  • פיתוח והגדרה של כותרת CSP (מצבי Report-Only וחסימה).
  • תיעוד המדיניות עם הסבר לכל הנחיה.
  • הגדרת נקודת קצה לאיסוף דוחות (דרך PHP או nginx).
  • הדרכת המפתחים שלכם: כיצד לשנות רכיבים כדי להשתמש ב-nonce.
  • אחריות לתפעול יציב: אנו מתקנים אי-תאימויות בתוך 5 ימי עבודה לאחר העלייה לאוויר.

לוח זמנים ועלות

פיתוח ויישום של CSP עם ביקורת מקדימה במצב Report-Only — בין 4 ל-8 שעות בהתאם למספר שירותי צד שלישי. הביקורת מתחילה ממחיר המחושב לאחר ביקורת. תוכלו לחסוך עד 90% מתקריות עתידיות הקשורות ל-CSP. צרו קשר לקבלת הצעת מחיר בתוך יום אחד. יש לנו מעל 10 שנות ניסיון ו-50+ פרויקטי אבטחה. הזמינו ביקורת של המדיניות הנוכחית שלכם היום וקבלו ייעוץ מהנדס.

Source: Wikipedia: Content Security Policy

Additional Resources More about CSP in official documentation: [MDN: Content Security Policy](https://developer.mozilla.org/ru/docs/Web/HTTP/CSP)