אבטחת אתרי WordPress — 12 שכבות הגנה שכל אתר חייב
איך אתרי וורדפרס באמת נפרצים, למה תוסף אבטחה לבדו לא מספיק, ומה לעשות בכל שכבה — משרת ועד סיסמאות.
אביר
אחראי מידע ותוכן
תוכן עניינים19 פרקים
- איך אתרי וורדפרס באמת נפרצים
- שכבה 1 — עדכונים
- שכבה 2 — הקשחת ההתחברות
- שכבה 3 — סיסמאות
- שכבה 4 — הרשאות משתמשים
- שכבה 5 — הרשאות קבצים
- שכבה 6 — הגנה על wp-config.php
- שכבה 7 — מניעת הרצת PHP בתיקיית ההעלאות
- שכבה 8 — חומת אש ליישום (WAF)
- שכבה 9 — HTTPS בכל מקום
- שכבה 10 — גיבויים כרשת ביטחון
- שכבה 11 — ניטור
- שכבה 12 — האחסון עצמו
- איך מזהים שמשהו לא בסדר, לפני שמישהו מדווח
- למה "אין לי מה לגנוב" זו טעות
- אם האתר כבר נפרץ
- מה תוסף אבטחה כן ולא נותן
- סיכום
- שאלות נפוצות
וורדפרס מפעיל נתח עצום מהאינטרנט, וזה בדיוק מה שהופך אותו למטרה. תוקף שמוצא חולשה בתוסף פופולרי לא תוקף אתר אחד — הוא סורק מיליונים.
החדשות הטובות: כמעט אף פריצה אינה מתוחכמת. הן חוזרות על אותם דפוסים, וכולם ניתנים למניעה.
איך אתרי וורדפרס באמת נפרצים
לפי ניתוחי אירועים בתעשייה, ההתפלגות עקבית משנה לשנה:
| וקטור | חלק מהמקרים |
|---|---|
| תוספים לא מעודכנים | ~55% |
| תבניות פגיעות | ~15% |
| סיסמאות חלשות / Brute Force | ~15% |
| חולשות בליבת וורדפרס | ~3% |
| סביבת אירוח / הרשאות | ~12% |
הליבה עצמה כמעט אף פעם לא הבעיה. צוות האבטחה של וורדפרס מגיב מהר. הבעיה היא התוסף שהתקנתם ב-2021 והמפתח נטש ב-2023.
שכבה 1 — עדכונים
זו לא עצה משעממת. זו 70% מהסיכון.
הפעילו עדכוני אבטחה אוטומטיים לליבה. מגרסה 3.7 עדכוני מינור מותקנים אוטומטית. אל תכבו את זה.
סקרו תוספים אחת לרבעון:
- תוסף שלא עודכן מעל 12 חודש — סימן אזהרה.
- תוסף שהוסר ממאגר וורדפרס — הסירו מיד.
- תוסף שאתם לא זוכרים למה התקנתם — הסירו.
הסירו, אל תשביתו. תוסף מושבת עדיין קיים על הדיסק, וקבצי PHP שלו עדיין ניתנים לגישה ישירה. חולשה בקובץ כזה עובדת גם כשהתוסף כבוי.
שכבה 2 — הקשחת ההתחברות
עמוד /wp-login.php מותקף אוטומטית בכל אתר וורדפרס בעולם, כל הזמן.
- בטלו את המשתמש
admin. זה חצי מהניחוש. - אימות דו-שלבי (2FA) לכל משתמש עם הרשאות עריכה.
- הגבלת ניסיונות התחברות — חוסמת Brute Force.
- שנו את כתובת ההתחברות. לא אבטחה אמיתית, אבל מסנן 95% מהרעש האוטומטי.
- CAPTCHA בטופס ההתחברות.
שכבה 3 — סיסמאות
סיסמה חזקה היא ארוכה, לא מסובכת. Sd3$k! נשברת מהר יותר מ-נמלים מטפסות על גדר כחולה.
- לפחות 16 תווים למשתמשי ניהול.
- ייחודית לחלוטין — אם היא בשימוש במקום נוסף, דליפה שם היא פריצה כאן.
- מנהל סיסמאות. לא פתק, לא קובץ, לא הדפדפן בלבד.
סיסמאות אפליקציה (Application Passwords) לאינטגרציות — כך ניתן לשלול גישה לשירות אחד בלי לשנות את הסיסמה הראשית.
שכבה 4 — הרשאות משתמשים
וורדפרס מגיע עם חמישה תפקידים. רובם משתמשים באחד.
- Administrator — רק למי שבאמת מנהל. אחד או שניים.
- Editor — לאנשי תוכן.
- Author / Contributor — לכותבים.
- Subscriber — לקוראים רשומים.
כותב תוכן לא צריך הרשאה להתקין תוספים. אם החשבון שלו נפרץ, ההבדל בין Editor ל-Administrator הוא ההבדל בין פוסט מושחת לאתר שנלקח.
שכבה 5 — הרשאות קבצים
ההגדרה הנכונה בשרת לינוקס:
find /path/to/wordpress -type d -exec chmod 755 {} \;
find /path/to/wordpress -type f -exec chmod 644 {} \;
chmod 600 wp-config.php
לעולם לא 777. זו הרשאת כתיבה לכולם, והיא הדרך המהירה ביותר להפוך תקלה קטנה לפריצה מלאה. אם תוסף דורש 777 כדי לעבוד — התוסף שבור, לא ההרשאות.
שכבה 6 — הגנה על wp-config.php
הקובץ מכיל את פרטי מסד הנתונים. הוסיפו ל-.htaccess:
<Files wp-config.php>
order allow,deny
deny from all
</Files>
בנוסף, בטלו עריכת קבצים מתוך לוח הבקרה:
define( 'DISALLOW_FILE_EDIT', true );
בלי זה, תוקף שהשיג חשבון Administrator יכול לערוך קוד PHP ישירות מהדפדפן ולהריץ אותו. זו השורה שהופכת השתלטות על חשבון להשתלטות על שרת.
שכבה 7 — מניעת הרצת PHP בתיקיית ההעלאות
wp-content/uploads נועדה לתמונות. אם תוקף מצליח להעלות לשם קובץ .php, הוא יכול להריץ אותו.
<Directory /path/to/wp-content/uploads>
<FilesMatch "\.php$">
Require all denied
</FilesMatch>
</Directory>
זו אחת ההגנות היעילות ביותר ביחס למאמץ, והיא כמעט תמיד חסרה.
שכבה 8 — חומת אש ליישום (WAF)
WAF מסנן בקשות לפני שהן מגיעות לוורדפרס: ניסיונות SQL Injection, XSS, מעבר תיקיות ובקשות לנתיבים מוכרים.
הוא לא תחליף לעדכונים. הוא קונה זמן — בין רגע פרסום החולשה לרגע שהתוסף מתעדכן, ה-WAF הוא מה שעומד בפער.
שכבה 9 — HTTPS בכל מקום
תעודת SSL היא סטנדרט, לא תוספת. אבל התקנה לבדה לא מספיקה:
- הפניה קשיחה מ-HTTP ל-HTTPS.
- HSTS, כדי שהדפדפן לא ינסה HTTP בכלל.
- תיקון תוכן מעורב — תמונה אחת ב-HTTP שוברת את המנעול.
שכבה 10 — גיבויים כרשת ביטחון
אין הגנה מושלמת. גיבוי הוא ההבדל בין תקלה לאסון.
- מחוץ לשרת. גיבוי על אותו דיסק נפרץ יחד איתו.
- מספר נקודות בזמן. פריצה מתגלה בממוצע אחרי שבועות. גיבוי של אתמול כבר מכיל אותה.
- בדוקים. גיבוי שלא שוחזר מעולם הוא הנחה, לא גיבוי.
פירטנו במאמר גיבוי ושחזור אתר וורדפרס.
שכבה 11 — ניטור
- ניטור זמינות — התראה כשהאתר נופל.
- ניטור שינויי קבצים — התראה כשקובץ ליבה משתנה.
- יומן פעולות משתמשים — מי התחבר, מתי, ומה שינה.
- סריקת תוכנות זדוניות.
שכבה 12 — האחסון עצמו
הכל למעלה מניח שהשרת עצמו בטוח. אם אתר אחר על אותו שרת נפרץ ואין בידוד תקין, ההגנות שלכם לא רלוונטיות.
מה שנדרש מהספק: בידוד מלא בין חשבונות, גרסאות PHP נתמכות, עדכוני מערכת שוטפים, ובקרת גישה מתועדת לממשקי הניהול.
איך מזהים שמשהו לא בסדר, לפני שמישהו מדווח
רוב הפריצות אינן משחיתות את הדף הראשי. תוקף שמעוניין להישאר יעדיף שלא תבחינו בו — הוא מוכר קישורים, שולח ספאם או מכרה מטבעות על השרת שלכם.
סימנים ששווה להכיר:
באנליטיקס: קפיצה בתנועה מארצות שאין לכם בהן קהל, או דפים שלא יצרתם מקבלים כניסות.
במייל: התראות על דחיות מסירה למיילים שלא שלחתם. סימן קלאסי לשרת ששולח ספאם.
בגוגל: חיפוש site:example.co.il מציג דפים שאינכם מכירים — בדרך כלל בשפות זרות או בנושאים לא קשורים.
בשרת: קפיצה פתאומית בצריכת מעבד בלי גידול מקביל בתנועה.
בקבצים: קובץ PHP חדש בתיקיית ההעלאות, או קובץ ליבה עם תאריך שינוי חדש. אין סיבה לגיטימית לאף אחד מהשניים.
למה "אין לי מה לגנוב" זו טעות
בעל אתר קטן חושב לעיתים שהוא לא מטרה. זו אי הבנה של המניע.
תוקפים אוטומטיים לא בוחרים אתרים לפי ערך. הם סורקים טווחי כתובות ובודקים חולשה מוכרת בכל אתר שהם פוגשים. אתר תדמית של עסק קטן שווה להם בדיוק כמו אתר גדול, כי מה שהם רוצים אינו התוכן שלכם:
- שרת לשליחת ספאם — עם מוניטין IP נקי, שהופך למלוכלך מהר.
- דף למכירת קישורים — קישורי SEO מוסתרים בדפים קיימים.
- הפניה זדונית — מבקרים שמגיעים מגוגל מופנים לאתר אחר, בעוד גלישה ישירה נראית תקינה. זו הסיבה שבעל האתר לא מבחין בזה חודשים.
- כוח חישוב — כריית מטבעות על חשבונכם.
- נקודת קפיצה — לתקיפת אתרים אחרים מכתובת שאינה שלהם.
ההיזק אליכם זהה בכל המקרים: חסימה בגוגל, מוניטין דואר הרוס והשבתה עד לניקוי.
אם האתר כבר נפרץ
- הורידו אותו לתחזוקה. אתר נגוע מפיץ נוזקה למבקרים ונחסם בגוגל.
- שנו את כל הסיסמאות — וורדפרס, FTP, מסד נתונים, פאנל.
- אל תשחזרו גיבוי אחרון עיוור. אתרו קודם מתי החדירה קרתה.
- החליפו את מפתחות האבטחה ב-
wp-config.php— זה מנתק כל הפעלה קיימת. - מצאו את הפרצה. שחזור בלי לסגור אותה מוביל לפריצה חוזרת תוך ימים.
- בקשו בדיקה חוזרת בגוגל אחרי הניקוי.
מה תוסף אבטחה כן ולא נותן
תוסף כמו Wordfence או Sucuri שימושי, ולא מספיק. שווה להבין את הגבול.
מה הוא כן עושה: סורק קבצים מול חתימות ידועות, חוסם ניסיונות התחברות, מפעיל WAF ברמת היישום ומתריע על שינויים.
מה הוא לא יכול לעשות: הוא רץ בתוך וורדפרס, כלומר אחרי שהבקשה כבר הגיעה ל-PHP. תוקף שמנצל חולשה בשלב מוקדם יותר, או שכבר השיג גישה לקבצים, פועל מתחתיו. תוסף אבטחה גם צורך משאבים — סריקה מלאה על אחסון שיתופי יכולה להפיל את האתר בעצמה.
המסקנה: תוסף אבטחה הוא שכבה, לא הפתרון. הוא לא מחליף עדכונים, הרשאות נכונות או תשתית מתוחזקת.
סיכום
אבטחה היא לא מוצר שקונים. היא שגרה: עדכונים, הרשאות מינימליות, גיבויים בדוקים ותשתית מתוחזקת.
מי שמריץ אתר על אחסון מנוהל מקבל חלק מהשכבות ברמת השרת — בידוד, WAF, עדכוני מערכת וגיבויים יומיים מחוץ למכונה. השאר — סיסמאות, הרשאות ותוספים — נשאר באחריותכם, ואין ספק שיכול לקחת אותו במקומכם.
שאלות נפוצות
כל כמה זמן באמת צריך לעדכן תוספים? עדכון אבטחה — מיד. חולשה שפורסמה נסרקת אוטומטית תוך שעות, לא ימים. עדכון פונקציונלי — אחת לשבוע או שבועיים, אחרי בדיקה בסביבת Staging.
האם 2FA מיותר אם הסיסמה חזקה? לא. סיסמה חזקה מגנה מפני ניחוש, לא מפני דליפה. אם הסיסמה נחשפה במקום אחר, או נגנבה בפישינג, 2FA הוא מה שעומד בין התוקף לחשבון.
האם כדאי להסתיר את גרסת הוורדפרס? זה מקטין רעש אוטומטי, ואינו אבטחה. תוקף יכול לזהות גרסה בדרכים אחרות. עשו זאת אם נוח, אל תסתמכו על זה.
מה הסימן הראשון שאתר נפרץ? בדרך כלל התראות דחייה על מיילים שלא שלחתם, או קפיצה בצריכת מעבד בלי גידול בתנועה. נדיר שהדף הראשי משתנה — תוקף שרוצה להישאר לא מכריז על עצמו.
האם אחסון מנוהל אומר שאני מוגן? הוא מכסה את שכבות התשתית: בידוד, WAF, עדכוני מערכת וגיבויים. סיסמאות, הרשאות משתמשים ותוספים נשארים באחריותכם, ואלה 85% מוקטורי התקיפה.
נכתב על ידי אביר, אחראי מידע ותוכן ב-CloudX. חושדים שאתר שלכם נפגע? פנו אלינו.