איך אתרי WordPress באמת נפרצים — וחמש הדרכים שמכסות כמעט הכול
כמעט כל פריצה לאתר WordPress מגיעה מאחד מחמישה מקורות: תוסף פגיע, סיסמה חלשה או דלופה, גרסת PHP ישנה, הרשאות קבצים רחבות מדי, או חשבון אחסון משותף שנפרץ אצל שכן.
WordPress מריץ נתח עצום מהאינטרנט, ולכן הוא יעד קבוע של סריקות אוטומטיות. חשוב להבין שזה כמעט אף פעם לא אישי: בוט סורק מיליוני כתובות, מחפש חתימה מוכרת של תוסף פגיע, ומנצל אותה באותו רגע. האתר שלכם לא נבחר — הוא פשוט ענה.
מהניסיון בשטח, חמש נקודות הכניסה הבאות מסבירות את הרוב המוחלט של המקרים. הן מסודרות לפי שכיחות, לא לפי כמה מפחיד הן נשמעות.
1. תוסף או תבנית שלא עודכנו
זה המקור מספר אחת, בפער. כשמתגלה חולשה בתוסף פופולרי, הפרטים מתפרסמים במאגרים ציבוריים תוך ימים — ומאותו רגע כל אתר שלא עודכן הוא מטרה גלויה. הבוטים לא צריכים לנחש כלום: הם יודעים בדיוק איזו כתובת לבקש.
מה שהופך את זה למסוכן במיוחד הוא שהתוסף לא חייב להיות בשימוש. תוסף שהותקן פעם, הושבת ונשכח — הקבצים שלו עדיין יושבים על השרת, ובחלק מהחולשות אפשר לפנות אליהם ישירות בלי שהתוסף בכלל פעיל.
- עדכנו תוספים ותבניות תוך ימים, לא חודשים.
- מחקו לגמרי תוספים ותבניות שאינכם משתמשים בהם — השבתה היא לא מחיקה.
- היזהרו מתוספים שלא עודכנו שנתיים ומעלה; אין מי שיתקן אותם כשתתגלה חולשה.
- תוספי פרימיום שנקנו פעם וההרשאה שלהם פגה מפסיקים לקבל עדכוני אבטחה בשקט.
הסיבה הנפוצה ביותר לאתר לא מעודכן היא פחד: «עדכנתי פעם ומשהו נשבר». הפתרון הוא לא להפסיק לעדכן, אלא לעדכן עם גיבוי אוטומטי לפני ובדיקה אחרי — כדי שאפשר יהיה לחזור אחורה בלחיצה.
2. סיסמאות חלשות או כאלה שכבר דלפו
ניסיון התחברות אוטומטי לעמוד /wp-login.php הוא רעש רקע קבוע של האינטרנט. התוקפים לא מנחשים באקראי — הם מריצים רשימות של סיסמאות שדלפו מאתרים אחרים. אם הסיסמה שלכם לאתר זהה לסיסמה שהייתה לכם באיזה פורום שנפרץ ב-2019, היא כבר ברשימה.
מסוכן במיוחד הוא שם המשתמש admin בשילוב עם סיסמה בינונית. זה מקצר לתוקף חצי מהעבודה.
- סיסמה ייחודית לכל אתר, מנוהלת במנהל סיסמאות ולא בראש.
- אימות דו-שלבי לכל משתמש בדרגת מנהל.
- הגבלת קצב ניסיונות התחברות ברמת השרת, לא רק ברמת תוסף.
- מחיקת חשבונות ישנים של מפתחים או עובדים שעזבו.
3. גרסת PHP או שרת שכבר לא מקבלים עדכוני אבטחה
אתר יכול להיות מעודכן לחלוטין ברמת WordPress ועדיין לרוץ על גרסת PHP שיצאה משימוש. גרסה שאינה נתמכת לא מקבלת תיקוני אבטחה — כלומר חולשה שהתגלתה בה תישאר פתוחה לנצח.
אותו דבר נכון לשרת עצמו: מערכת הפעלה ישנה, nginx או Apache ישנים, ספריות מערכת שלא עודכנו. זה החלק שרוב בעלי האתרים לא רואים ולא יכולים לבדוק לבד — והוא באחריות ספק האחסון.
בדיקת כותרות HTTPבדקו אילו כותרות ומידע השרת שלכם חושף כלפי חוץ.לבדיקה חינם4. הרשאות קבצים רחבות מדי
הרשאה 777 על תיקייה היא הזמנה פתוחה: כל תהליך על השרת יכול לכתוב לתוכה. לרוב זה מגיע מהוראה ישנה באיזה פורום — «תשנה ל-777 וזה יעבוד» — ואכן זה עובד, וגם פותח דלת.
ההגדרה הבריאה היא 644 לקבצים ו-755 לתיקיות, כשהבעלות שייכת למשתמש של האתר בלבד. בסביבה מבודדת כמו שלנו לכל אתר יש משתמש משלו, כך שגם אם אתר אחד נפגע, הוא לא יכול לגעת בשכן.
5. השכן בשרת המשותף
באחסון שיתופי זול רבים מהאתרים רצים תחת אותו משתמש מערכת. במצב כזה פריצה לאתר אחד מאפשרת קריאה וכתיבה לקבצים של האחרים — כולל קובץ wp-config.php עם פרטי מסד הנתונים. זו הסיבה שאתרים «נפרצים יחד» באותו יום בלי קשר ביניהם.
בידוד ברמת המשתמש הוא לא פינוק, אלא ההבדל בין תקרית אחת לבין תקרית בכל האתרים שלכם.
איך נראית פריצה מבפנים
התוקף כמעט אף פעם לא רוצה להשמיד את האתר. אתר מושבת מתגלה מהר. מה שהוא באמת רוצה זה גישה שקטה ומתמשכת:
- השתלת קובץ קטן (webshell) שמאפשר להריץ פקודות דרך הדפדפן.
- יצירת משתמש מנהל נוסף בשם תמים, כדי שיהיה איך לחזור גם אחרי שהתוסף יעודכן.
- הזרקת קישורים מוסתרים או הפניות למבקרים מגוגל בלבד — כך שאתם רואים אתר תקין וגוגל רואה ספאם.
- שימוש בשרת לשליחת דואר זבל, מה שמכניס את כתובת ה-IP לרשימות שחורות ומפיל גם את המיילים האמיתיים שלכם.
הסימן הראשון שרוב בעלי האתרים מזהים הוא לא «האתר נפרץ» אלא «מיילים שלי מגיעים לספאם» או «האתר נהיה איטי». שניהם תוצאה של שימוש זר בשרת.
מה באמת מגן, לפי סדר תשואה
| פעולה | כמה זה מזיז |
|---|---|
| עדכונים שוטפים של ליבה, תוספים ותבניות | הכי הרבה — סוגר את מקור הפריצה מספר אחת |
| אימות דו-שלבי למנהלים | הרבה — מנטרל כמעט לגמרי סיסמאות דלופות |
| בידוד ברמת המשתמש בשרת | הרבה — עוצר התפשטות בין אתרים |
| גיבוי יומי מחוץ לשרת עם אימות שחזור | לא מונע פריצה, אבל מקצר התאוששות משבוע לשעה |
| חומת אש ומגבלת ניסיונות התחברות | בינוני — מוריד רעש ומאט תקיפות |
| הסתרת גרסת WordPress | כמעט אפס — התוקף מזהה גרסה בעשר דרכים אחרות |
השורה התחתונה
אבטחת WordPress היא לא תוסף שמתקינים פעם אחת. היא שגרה: לעדכן מהר, לצמצם את מה שמותקן, לבודד, לגבות באמת, ולדעת מתי משהו השתנה. זה בדיוק מה שהמערכת שלנו עושה ברקע — סריקה יומית, עדכון עם גיבוי ובדיקה אחרי, ובידוד מלא בין אתר לאתר.
אבטחת WordPress ב-Siteyvo
כל מה שתואר כאן קורה במערכת אוטומטית, על כל אתר, בלי שתצטרכו לזכור.
תקנו עם Siteyvo