גל הפריצות לאתרי וורדפרס ממשיך להתפשט ברשת, ובמקרים רבים, הבעיה כלל לא נובעת מהמערכת עצמה – אלא דווקא מהמשתמשים ובעלי האתרים. שימוש שגוי במערכת, עבודה עם גרסאות ישנות של וורדפרס, והתעלמות מעדכונים – אלו רק חלק מהסיבות לכך שפריצות מצליחות כל כך בקלות.
בפוסט הזה נעבור על 10 טיפים סופר-קריטיים שיעזרו לך להגן על האתר שלך, לסגור דלתות פרוצות, ולחסום את הדרך בפני מתקפות נפוצות.
אחת הסיבות שאני כותב את הפוסט הזה היא ריבוי השאלות שחוזרות אליי מסטודנטים בקורסים לבניית אתרים ומבעלי אתרים שמבקשים עזרה באבטחת מידע. אחת הבעיות הידועות והכואבות היא שרוב בעלי האתרים פשוט לא מתעסקים באבטחה – עד שמאוחר מדי. כן, זה נשמע חד, אבל זאת המציאות: רוב בעלי האתרים לא משקיעים באבטחה, לא מגבים, לא מוודאים שהאתר מוגן – ואני רואה את זה כל יום. אתרים נבנים, עולים לאוויר – ובערך 90% מהם (אם לא יותר) לא עושים אפילו את המינימום הדרוש להגנה בסיסית.
זה טוב לסמוך על המערכת – ווורדפרס אכן מציעה הרבה סיבות טובות לאמון. אבל בתור בעלי אתרים, אתם חייבים להיות עם יד על הדופק – גם מבחינת המערכת עצמה, וגם ברמת שרת האחסון שמאחורי הקלעים.
[toc]
נכון, זה קל להאמין שהכול ורוד – שאפשר להקים אתר אינטרנט תוך כמה דקות ולהתחיל לרוץ. אבל מעבר להקמה עצמה, יש דברים חשובים לא פחות: לשמור על המידע שבאתר, לשמור על האבטחה, ועל התקינות של האתר לאורך זמן.
שימו לב – פריצות לא פוגעות רק בקבצים או בתפקוד הטכני של האתר. הן יכולות גם להזיק בצורה חמורה לקידום האורגני (SEO) שלו. אתם מכירים את המקרים שבהם אתם מנסים להיכנס לאתר כלשהו, והדפדפן שולף הודעת אזהרה? במקרה כזה, האתר עלול להימחק ממנועי החיפוש – וזה עוד לפני שהזכרנו את עולם ה־“Black Hat SEO”.
קידום אתרים בכובע שחור כולל לא פעם פריצות מתוחכמות, שבעל האתר כלל לא מודע להן. לא תראו שינוי בעיצוב, ולא בתוכן – אבל מאחורי הקלעים, מישהו כבר השתלט על חלק מהאתר. וזה בדיוק מה שהופך את זה למסוכן כל כך. לרוב, בעלי אתרים בכלל לא ידעו שנפרץ להם האתר – וימשיכו לתפעל אותו כרגיל.
אני לא אכנס כרגע לעולם הזה לעומק, כי זה פחות רלוונטי לפוסט הזה – אבל אולי נקדיש לזה פוסט מיוחד בעתיד, כולל סקירה של שיטות קידום כאלה ואיך לזהות אותן.
בואו נחזור לנושא העיקרי – אבטחת מערכת וורדפרס. אני ממליץ לפנות לעצמכם כמה דקות – ואפילו שעה – כדי לטפל באתר שלכם כמו שצריך. כנסו לפאנל הניהול של וורדפרס, וגם לפאנל האחסון – ותתכוננו לעשות כמה שינויים טכניים חשובים.
️ טיפים לאבטחת וורדפרס
-
בדקו אם יש עדכונים לוורדפרס ועדכנו מיד
תמיד חשוב לעבוד עם הגרסה העדכנית ביותר של וורדפרס, תוספים ותבניות – כי כל גרסה חדשה בדרך כלל מתקנת פרצות אבטחה שהתגלו
-
אם אין לכם סיבה לערוך קבצים דרך הממשק – כדאי לסגור את האפשרות הזו לגמרי.
פתרון: התחברו לשרת האחסון, פתחו את הקובץ wp-config.php והוסיפו את השורה הבאה:
מומלץ לבטל את האפשרות לעריכת תוספים ותבניות דרך ממשק הניהול של וורדפרס.define('DISALLOW_FILE_EDIT',true);
הערה: ערכו את הקובץ עם עורך קוד מתאים כמו Notepad++, Dreamweaver או Coda. אל תערכו עם תוכנות פשוטות כמו TextEdit של מק.
-
משתמשים יכולים לראות את גרסת וורדפרס דרך הקובץ readme.html
️ פתרון: מחקו את הקובץ הזה מספריית ההתקנה הראשית (wp/) כדי למנוע חשיפת מידע מיותר
הערה: עדכונים לוורדפרס עשויים לשחזר את הקובץ, אז כדאי לבדוק מחדש לאחר כל עדכון. -
קובץ ההתקנה של וורדפרס נשאר לפעמים על השרת.
פתרון: היכנסו לתיקיית wp-admin ומחקו את הקובץ install.php במידה והוא עדיין שם.
⚠️ הערה: אין סיבה שהוא יהיה שם אחרי התקנה תקינה. - להגן על הקבצים באמצעות htaccess
פתרון: אנחנו יכולים לנעול את הקבצים באמצעות קובץ htaccess. יש קבצים רבים שאפשר להגן במערכת, אך חשוב ביותר להגן על הקובץ wp-config.php המכיל כניסה למסד נתונים. פתח את הקובץ htaccess והכנס את השורות הבאות אל תוכו.- <Files wp-config.php>
- Order Deny,Allow
- Deny from all
- </Files>
- הגנה על בסיס הנתונים – שינוי קידומת הטבלאותפתרון: שינוי הקידומת המוגדרת כברירת מחדל (wp_) בטבלאות מסד הנתונים היא אחת הדרכים היעילות להקשות על מתקפות. תוכנות אוטומטיות לביצוע SQL injection מכוונות לטבלאות עם קידומת מוכרת – ולכן שינוי הקידומת יקשה על זיהוי הטבלאות ויביא לרמת אבטחה גבוהה יותר.
לדוגמה: אפשר להגדיר קידומת רנדומלית כמו asYUBHdadeIsh7Qfm_, שתהפוך את מלאכת הפריצה למורכבת בהרבה עבור בוטים ותוקפים
כדי לשנות את הקידומת בהתקנה חדשה, יש להיכנס לקובץ wp-config.php ולרשום את השורה הבאה
- $table_prefix = 'asYUBHdadeIsh7Qfm_';
הערה: אם האתר כבר מותקן, קיימות שתי אפשרויות לשינוי – באמצעות תוסף ייעודי (למתחילים) או בשיטה ידנית, שדורשת שינוי גם במסד הנתונים וגם בקבצי המערכת (מדריך מלא בנושא יפורסם בהמשך) - הגדרה ושינוי של מפתחות סודיים
פתרון: בתוך קובץ ההגדרות wp-config.php קיימים ארבעה מפתחות סודיים שנראים כך:- define('AUTH_KEY', ' ');
- define('SECURE_AUTH_KEY', ' ');
- define('LOGGED_IN_KEY', ' ');
- define('NONCE_KEY', ' ');
למרבה ההפתעה, רבים משאירים את הערכים האלו ריקים או עם טקסט ברירת מחדל – וחושפים את האתר לפרצות. מפתחות אלו משמשים להצפנת מידע רגיש כמו סיסמאות וקובצי עוגיות, ולכן חשוב מאוד לעדכן אותם
כדי לקבל מפתחות אקראיים ובטוחים – פשוט היכנסו לקישור הבא:
https://api.wordpress.org/secret-key/1.1
והעתיקו את השורות שמתקבלות ישירות לקובץ wp-config.php, במקום הערכים הקיימים
הערה: לאחר השמירה – כל המשתמשים שמחוברים למערכת ינותקו ויופנו מחדש להתחברות. זה חלק מהשינוי, אז אל תיבהלו.
- הסרת התמיכה ב-Windows Live Writer מהקוד.
פתרון: החל מגרסה 3.0, וורדפרס כוללת תכונה שמאפשרת חיבור למערכת דרך תוכנה חיצונית בשם Windows Live Writer – כלי לכתיבת פוסטים מהמחשב המקומי, בלי צורך לפתוח דפדפן. קוד התמיכה מופיע באופן אוטומטי בתוך תגיות ה־<head> של האתר
.למרות שקיימים בעלי אתרים שעושים שימוש בכלי הזה, מדובר בפיצ’ר שרוב המשתמשים כלל לא נזקקים לו, והוא אף עשוי לחשוף את האתר לנקודות תורפה מיותרות. מבחינתי, הפונקציה הזאת מיותרת, לא יעילה – ואפילו עלולה לסכן את אבטחת האתר, במיוחד אם לא משתמשים בה בפועל.
- remove_action('wp_head', 'wlwmanifest_link');
הערה: גם אם קיימת מחלוקת מסוימת בנוגע לנוחות של כתיבה באמצעות תוכנה חיצונית, אני ממליץ בחום להימנע מהשימוש בה. כתיבה ועריכה ישירות בדפדפן דרך ממשק הניהול של וורדפרס הרבה יותר נוחה, מהירה וגמישה. ואם לא השתמשתם בכלי הזה עד היום – אין שום סיבה שהוא יישאר פעיל באתר. הסרתו גם עשויה להאיץ את טעינת האתר (אפילו אם רק במעט), כך שבכל מקרה מדובר בצעד נכון
- התקנת שני תוספי אבטחה חיוניים: AntiVirusו־ BBQהסבר: תוסף BBQ
קיצור של Block Bad Queries – נועד לחסום שאילתות זדוניות שנשלחות דרך כתובת ה-URL של האתר. לדוגמה: בקשות ארוכות במיוחד (מעל 255 תווים), שאילתות לא תקינות, או נסיונות לנצל פרצות אבטחה. זה תוסף קליל, לא מצריך הגדרות, ומספק שכבת הגנה מיידית.
התוסף AntiVirus לוורדפרס מגן על האתר מפני קוד זדוני, ניסיונות השתלה של ספאם, ותוכנות מזיקות. בין התכונות הבולטות שלו:
-
התראות אבטחה בבר העליון של וורדפרס.
-
סריקה יומית עם דיווח במייל
-
בדיקת טבלאות בבסיס נתונים ותבניות.
-
בדיקות ידניות.
הערה: מומלץ להשתמש בשני התוספים או לפחות ב- BBQ בכל אתר. גם היום מתבצעים ניסיונות פריצה באמצעות שאילתות זדוניות ב-URL וחלקם גם מצליחים לעבור.
-
בואו ניקח רגע כדי להסתכל על הסיבות העיקריות לפריצות שאנו רואים היום:
- ניהול כושל של סיסמאות והרשאות Ftp, פנל ניהול של וורדפרס, שרת אחסון, בסיס נתונים ועוד..
- ניהול המערכת ברמה ירודה
- שרתי אחסון לא מקצועיים
- מערכות לא מעודכנות – php, וורדפרס, תוספים, תבניות, מסדי נתונים
- חוסר ידע באינטרנט
- חוסר ידע באבטחה
5 תוספים שיעזרו לכם באבטחת וורדפרס
6Scan Security
קישור: http://wordpress.org/extend/plugins/6scan-protection
פרטים נוספים: התוסף מספק הגנה אוטומטית מפני פריצות לוורדפרס. היא מבצעת סריקה מלאה של המערכת ובודק חורי אבטחה רבים + מבצע תיקון.
Better WP Security
קישור: http://wordpress.org/extend/plugins/better-wp-security
כמה מילים: תוסף מעולה לאבטחת מערכת וורדפרס. רק חשוב לומר, שאם אתם לא יודעים מה אתם עושים איתו, הוא יכול לפגוע בפעילות האתר ובמערכת כולה. יש הגדרות העושה שינוים ברמת המערכת כמו שינוי שמות של תיקיות ברירת המחדל של וורדפרס וזה יכול לפגוע בתקינות האתר ובאתר כולו כולל בסיס נתונים. לכן תשתמשו בתוסף הזה בזהירות ורק אם אתם יודעים מה שאתם עושים.
LockerPress
קישור: http://wordpress.org/extend/plugins/lockerpress-wordpress-security
הסבר קצר: LockerPress מגן על האתר שלכם מפני פריצות באמצעות מגוון פתרונות בהתאמה אישית. אבטחת וורדפרס באמצעות תוסף "לוקרפרס" יכול לספק פתרונות אבטחה רבים כגון שינוי URL של עמוד ההתחברות למערכת, שינוי קידומת לטבלאות בבסיס נתונים, שינוי שם משתמש ועוד.
WordPress File Monitor Plus
הפניה: http://wordpress.org/extend/plugins/wordpress-file-monitor-plus
הסבר: מפקחת על WordPress עבור קבצים שנוספו / נמחקו או שונו במערכת. כאשר מזוהה שינוי קובץ כלשהו, ישלח התראה לכתובת דוא"ל של מנהל האתר.
חסימת גישה לפי כתובות IP עם התוסף No Soup
קישור: http://wordpress.org/extend/plugins/no-soup
הסבר: אם יש לכם צורך לחסום גישה לאתר מגולשים במדינות מסוימות, מספקי אינטרנט חשודים או משתמשים ספציפיים – התוסף No Soup מציע פתרון פשוט: חסימה לפי טווחי כתובות IP. לדוגמה, ניתן לחסום גישה ממדינות כמו טורקיה, שמהן ידועות לא מעט מתקפות על אתרים ישראליים.
אם אין לכם צורך שגולשים מכל העולם יגיעו לאתר – שווה לנצל את האפשרות הזו ולצמצם סיכונים מיותרים.
לסיכום
הקמת אתר אינטרנט לא מסתיימת בלחיצה על “התקן וורדפרס”.
בעל אתר חייב להבין זאת – במיוחד בעידן הדיגיטלי שבו הכול נגיש, קל, ומהיר, אבל גם חשוף יותר מתמיד.
אנשים מוכשרים נופלים פעם אחר פעם כי הם “יורים לעצמם ברגל” – משתמשים בכלים חינמיים, מתעלמים מאבטחה, ורק אחרי שהאתר נפרץ הם מתעוררים. גניבת מידע זו לא סתם בעיה טכנית – זו פגיעה עסקית של ממש, שעלולה לעלות בכסף, מוניטין, ואמון הלקוחות.
אם אתם לא יודעים איך להגן על האתר – אל תתמודדו לבד. יש כיום המון אנשי מקצוע מעולים שיכולים לעזור לפני שתיפגעו. אל תחכו לרגע שבו המידע כבר דלף, הקבצים נמחקו או האתר נעלם מהאוויר.
ואם אתה חושב לעצמך:
“מי יפרוץ לי? אני עסק קטן, יש לי רק כמה כניסות ביום…”
אז תדע – דווקא בגלל זה אתה עלול להיות מטרה קלה. ההתקפות לא בוחרות קורבן לפי גודל האתר – אלא לפי רמת ההגנה שלו
יוסי אתה מטורף! תודה רבה על כל המידע!
לא יודע מאיפה להתחיל 🙂
למדתי אצלך בקורס וורדפרס שנה שעברה, ואני חייבת לומר שמעבר לזה שאתה מרצה תותח אתה גם בן אדם מדהים.
כל פעם מחדש אני נלהבת מהידע שלך
וואו 🙂 תודה!
שמח לשמוע
בשביל כל זה אני צריך גישה לשרת? ואם אין לי גישה לשם מה אני עושה?
כמה בעיות יש למערכת הזאת. אחרי כל מה שרשמת כאן אני בספק שארצה לסכן את עצמי בלעבוד עם וורדפרס.
עכשיו הבנתי שוורדפרס זה חרא של מערכת עם בעיות אבטחה קשות.
אין צורך בהתבטויות מהסוג הזה.
כל אחד יחליט לעצמו עם מה לעבוד. רק יגיד שלדעתי אתה טועה.
תודה
איזה פוסט מושקע!
אתה היחידי בארץ שמבין בכל הדבר הזה! פשש תודה איש.
מאמר מעולה ומקיף – שווה הצצה
מי שחווה פריצה לאתר יודע שמדובר בחוויה קשה מאוד.
תודה לך יוסי על המידע המצויין!
אחלה מדריך,עזרת לי מאוד. תודה!
מאמר מצוין! זמן הביצוע שווה לזמן הקריאה.
איך להגן על האתר שלך ברבע שעה של עבודה
שמחתי שזה עזר לך מאני!
אהלן יוסי,
בדקתי לאחרונה את נתוני האתר שלי באלקסה וגיליתי שהכניסות לאתר שלי מתבצעות ע"י חיפוש מילות מפתח שליליות ביותר (אתה כבר יכול לנחש איזה מילות מפתח..).
מכך הסקתי שמישהו פרץ לאתר שלי, ומשתמש בו לקידום אתרים שחור.
האם אתה מכיר תוסף לוורדפרס שסורק את כל האתר ומוצא בו קוד זדוני או משהו כזה? כי ניסיתי כבר 4 תוספים ולא ניראה לי שהם עוזרים..
האם יש בעיות עם גירסה 3.4.2 ? כרגע אני עם 3.4.1 והיה מי שטען שהשידרוג עלול לגרום לבעיות באתר.
היי,
כל שדרוג יכול לגרום לבעיות. זה לא משהו שאתה צריך לפחד ממנו.
מומלץ לשדרג בכל מקרה.
היי יוסי! אשמח לדעת מה לעשות כדי לשנות את הקידומת למערכת מותקנת כבר אתר.. הזכרת במאמר שניתן לעשות זאת ידנית ושמדריך יבוא בהמשך. תודה רבה:)
להיכנס ל phpmyadmin ולשנות את קידומת הטבלאות באופן ידני
להיכנס לקובץ wp-config.php למצאו את השורה הבאה:
$table_prefix = 'wp_';
ולשנות wp לזה שנתת ב mysql דרך phpmyadmin.
מקווה שזה היה ברור.
זה ברור רק לא מצאתי בphpMyAdmin איפה אני משנה את הקידומת של הטבלאות – לא מצאתי את אופציה העריכה עצמה.
תודה!
את צריכה להריץ פקודה ב- SQL. הרי יש לך למעלה בתפריט browse, structure, Sql וכו'.
תבחרי SQL ותרשמי למשל שורה הבאה
RENAME table `wp_commentmeta` TO `yossijana_commentmeta`;
מה שהוא יעשה, ימצא את טבלא בבסיס נתונים שקוראים לו wp_commentmeta וישנה את אותה ל yossijana_commentmeta
וכך עם כל הטבלאות בבסיס נתונים. זאת הפקודה שאת צריכה לרשום ב sql וללחוץ על כפתור GO
ממליץ לך לגבות בסיס נתונים לפני שאת נוגעת בו.
מצאתי. מעולה
תודה רבה אין כמוך
שלום יוסי,
אתמול ראיתי את ההערות שלך שנראות אחלה דרך להגן על האתר (אני לא מומחה בכלל במחשבים)
לא הצלחתי לעשות את כולם אבל משום מה ניסיתי להיכנס למערכת ניהול תוכן על מנת לעשות גיבוי לאתר אבל הוא ישר מפנה אותי לאתר עצמו.
אתה יכול אולי לעזור לי בלהגיד מה הסיבה לכך ואיך אפשר להיכנס למערכת ניהול תוכן של האתר?
אולי קשור לתוסף LOCKER PRESS שהתקנתי?!
תודה מראש!
היי יוסי
אני התקנתי את AntiVirus וגיליתי שהוא סורק רק קבצים ב-ROOT של תיקית תבנית. ואם יש בעיה בקבצי WP או בתוך התיקיה UPLOADS או קבצים אחרים הוא לא מזהה אותם?
שאלה נוספת – אם הוא כבר מצא איזה קובץ עם קוד ממש לא טוב, מה היא דרך נכונה לעצור את זה באופן הכי מהיר?
תודה רבה,
בכבוד,
אולגה
היי אולגה
1) כדי לעשות סריקה מלאה ובדיקה מקיפה של המערכת את צריכה תוסף שלא יצא לי לסקור ואולי בקרוב אעדכן את הפוסט הזה, זה תוסף בשם Total Security שניתן להוריד בקישור הבא: http://wordpress.org/plugins/total-security/
עושה עבודה מעולה
2) להסיר את הקוד. תלוי מה הקוד ולאן הוא שייך. אם זה בתוך איזה תוסף, אז לכבות את התוסף ולהסיר אותו מהשרת ולחפש תחלופה לתוסף. אם זה בתוך התבנית, אז להסיר / לשנות את הקוד בהתאם במידה ואת יודעת מה לעשות ואיך לערוך. אם את לא מבינה php ממליץ לא לגעת בקוד עצמו ולעזר במישהו שכן יודע.
בכל מקרה, כדאי ומומלץ מאוד לגבות לפני שנוקטים בצעד כלשהו.
תודה, יוסי
אני שמחה שמצאתי מענה מקיף 🙂
אתה באמת איש מקצוע נהדר,
בהצלחה
אולגה
שלום יוסי.
קודם כל תודה רבה על המידע המקצועי.
אני כרגע נמצא בשלבים של פתיחת אתר משלי, ומתלבט בין
wordprass לבין אחת מהחברות שמאפשרות בניית אתר "בקלות" (Weebly).
החשש העיקרי שלי הוא נושא ההבטחה.
במידה ואני לומד ומבצע את הפעולות על מנת לאבטח את ה wordprass, עד כמה הוא יהיה בטוח לעומת אתר של חברה כגון weebly?
בתודה מראש,
משה.
aהיי יוסי
תודה עבור המאמר.
אאני בעלת אתר שעלה לאוויר לא מזמן.
אאיך אני יודעת מה היא "מידת" האבטחה שקימת באתר ?
שלמי עלי לפנות לברור זה, מפתח האתר או החברה שבה אני ממאחסנת את האתר, ואם לשניהם, אז מה בגדר האחריות של כל אחד מהם ?
וועל מה עלי להתעקש מולם מבחינת סדר העדיפויות ?
האם יש שינויים/עידכונים למאמר שכתבת נכון להיום (יולי 2014) ?
תודה
מיכל
נ.ב. הכפילויות בצד ימין של הטקסט נובעות מכך שלא ניתן לראות את החלק הזה בחלון ההקלדה. אולי שווה לתקן 🙂