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

שגיאה 412 ו-mod_security

רן בר-זיק ספטמבר 4, 2011 8:00 am אין תגובות

פיירוול אפליקטיבי שנמצא ב-Apache יכול לגרום לצרות צרורות – כך מאתרים ומטפלים בו

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

לא הרבה בקהילת בוני האתרים ואפילו מתכנתים מכירים את mod_security, מדובר בפיירוול אפליקטיבי שניתן להתקין על אפאצ'י כמודול (כמו mod_rewrite). מה שהמודול הזה מאפשר הוא חסימת טווח של כתובות IP, חסימה של התקפות XSS, הגנה מפני SQL Injections והגנה מפני ספאמרים. התקנת המודול די פשוטה, אך ההגדרה שלו היא קצת יותר בעייתית. כיוון שעל מנת להשתמש בו צריך להגדיר אותו כפרוקסי – על מנת שכל הבקשות מהעולם אל ה-Apache שלכם יעברו דרך mod_security. זה לא משהו מסובך ויש מדריכים לא רעים ברשת שמסבירים על mod_security ועל התקנתו.

אני לא משתמש ב-mod_securtiy כי ראשית כל אני משתמש בפיירוולים אחרים ובנוסף אני משתמש בפיירוול על מנת לספק שכבת הגנה נוספת ולא נסמך עליו על מנת לעצור התקפות XSS או התקפות SQL Injections. קודם כל על האפליקציה שלי להיות חסינה בפני עצמה (או לפחות להשתדל להיות חסינה) ורק אחרי שאני מעביר אותה בדיקה משל עצמי אני שם את הפיירוול.

מצד שני, יש לא מעט ספקי אחסון שמשתמשים ב-mod_security כדרך זולה ופשוטה לספק פיירוול אפליקטיבי לשרתים שלהם ושכבת הגנה נוספת. הבעיה היא שהפיירוול הזה לא מגן רק בפני כל מיני דרעקים כמו XSS או חסימת כתובות IP אלא גם לעיתים (תלוי בהגדרות) חוסם גם לפי מילים 'אסורות' כמו פוקר, הימורים ולפעמים גם דברים תמימים יחסית כמו sex או insurance. כאשר mod_rewrite חוסם את הבקשה הזו, הוא מחזיר שגיאת 412 קריפטית למדי: Error 412: precondition failed.

כאשר אתם מקבלים הודעה כזו, הכי קל זה לתקן את הבעיה בעצמכם או ללכת ולהתבכיין ל-Sysadmin שלכם שינטרל את המודול או שלפחות יבדוק את רשימת המילים האסורות. אבל במידה ויש לכם shared hosting זול, וה-sysadmin הוא איזה הודי אידיוט שיושב בכפר שלו עם קקי של פרות עד הצוואר, יש צורך בנקיטת פתרון אחר. למרבה המזל, ברוב המקרים אפשר לנטרל את mod_security באמצעות htaccess.

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

במידה והוא עובד, על מנת לנטרל את השגיאה הסוררת כל מה שעלינו לעשות הוא להכניס את השורה הזו ל-htaccess:


SecFilterEngine Off

כמובן שאז אתם לא מוגנים כלל (כביכול), אפשר לאפשר רק לקובץ הבעייתי פטור מהצנזורה של המודול באמצעות ציון שמו המלא ומתן 'הפטור'. בואו ונצא מנקודת הנחה שהקובץ שנותן לנו שגיאת 412 הוא img/poker.png :


SecFilterEngine On
SecFilterSelective "REQUEST_URI" "/img/poker.png" "allow,nolog"

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

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

השארת תגובה

ביטול

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

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-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 | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

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