נכון לעת זו וורדפרס היא ללא צל של ספק מערכת ניהול התוכן הפופולרית ביותר ברשת. וורדפרס תופסת כ 58% מכלל האתרים המשתמשים במערכות ניהול תוכן, וחישוב זריז מוביל למסקנה שיותר מ 30% מכלל האתרים משתמשים במערכת זו.
מאחר והמערכת תופסת נפח כה גדול מהשוק, היא מעלה את הסיכויים לנסיונות פריצה. אין לקחת את נושא האבטחה בקלות ראש, והאמינו לי שאינכם רוצים להגיע למצב בו האתר שלכם נפרץ.
אבטחת האתר הוא תהליך חד פעמי בניגוד לתחזוקה שוטפת וכרוך במספר פעולות. אך לפני שנבצע פעולות אלו, נשאלת השאלה האם וורדפרס בבסיסה היא מערכת מאובטחת? ייתכן ואנו עובדים לשווא??
האם וורדפרס היא מערכת מאובטחת?
מאחר ומתבצעות פריצות רבות לאתרי וורדפרס, עולה השאלה האם זו מערכת מאובטחת דיה. אם לומר במשפט אחד, וורדפרס לכשעצמה ובמיוחד קבצי הליבה שלה כתובים נכון מבחינה זו כך שיהיה מאד קשה לנצל אלו בכדי לפרוץ לאתר שלכם.
מרבית הפריצות המוצלחות לאתרי וורדפרס הן תוצאה של טעויות אנוש, קונפיגורציה שגויה או תחזוקה לא נכונה של המערכת. הסיבות המרכזיות שגורמות לאתר להיות פגיע הן גירסאות וורדפרס שאינן מעודכנות, תוספים לא מעודכנים, ו/או שימוש לא אחראי בתוספים או תבניות שלא עומד מאחוריהם מפתח מנוסה.
אז היכן בעצם וורדפרס כמערכת הכי פגיעה? WP-Scan מדווח ש 52% מכלל הפריצות המוצלחות נובעות מתוספים של וורדפרס. קבצי הליבה של וורדפרס אחראים ל 37%, ותבניות וורדפרס אחראיות ל 11% מכלל הפריצות. נתון זה אושר גם על ידי Wordfence המדווחים כי 55.9% מכלל הפריצות מקורן בתוספים.
במדריך זה אציג מספר פעולות שיחזקו את אבטחת האתר שלכם ויקשו על ניסיונות פריצה.
15 פעולות לחיזוק אבטחה באתרי וורדפרס
תמיד ישנו סיכוי שיצליחו לפרוץ לאתר שלכם ולעולם לא תוכלו למנוע זאת בצורה מוחלטת. אך בכדי להקשות על ניסיונות הפריצה יש לבצע מספר פרקטיקות ופעולות שיחזקו את אבטחת האתר שלכם.
1. בחרו את חברת האחסון הכי יקרה שאתם יכולים להרשות לעצמכם
גם אם תבצעו את כל פעולות האבטחה, אם אין מאחוריכם חברת אחסון טובה המאמצים שלכם לא יעזרו יותר מדי. דו״ח שפורסם על ידי WP White Security מראה כי 41% מכלל אתרי הוורדפרס נפרצים בעקבות פירצות ואבטחה לקויה של חברת האחסון עצמה.
אז אם אתם על שרת שיתופי, וודאו עם חברת האיחסון כי קיים בידוד לחשבון (Account Isolation). אפשרות זאת תמנע מאתר נגוע הקיים על השרת להשפיע על אתר הוורדפרס שלכם.
רעיון טוב יותר יהיה לעבוד עם חברת אחסון ייעודית לוורדפרס. בשרתי אחסון מנוהלים המתמחים בוורדפרס, תהיה סבירות גבוהה יותר למצוא חומת אש (Firewall) המתאימה לוורדפרס, כמו גם גירסאות PHP ו MySQL עדכניות, סריקה שגרתית של Malewares, שרת שמותאם ייעודית לוורדפרס וצוות של אנשי תמיכה שמכירים את וורדפרס על בוריה.
2. השתמשו בגירסה האחרונה של PHP
PHP היא השפה עליה וורדפרס בנויה כך ששימוש בגירסתה האחרונה בשרת שלכם מאד חשובה. כל גירסה מז׳ורית של PHP נתמכת בד״כ כשנתיים לאחר שיחרורה. בזמן זה משתחררות המון גירסאות מינוריות ובהן תיקונים רבים של באגים ושל פירצות אבטחה.
כלומרבשלב הנוכחי כל מי שמשתמש בגירסת PHP7.4 או גירסאות קודמות הוא בעל חשיפה הרבה יותר גבוהה לפריצות כפי שניתן לראות בגרף המופיע בתמונה:
לכן עליכן לוודא כי אתם משתמשים בגירסה האחרונה ביותר של PHP אותה חברת האחסון שלכם מאפשרת.
יש לציין כי קיים גם הבדל בביצועים בין גירסאות ה PHP השונות ושימוש בגירסה חדשה יותר של PHP תשדרג את מהירות וביצועי אתר הוורדפרס שלכם.
3. וודאו כי וורדפרס והתוספים הקיימים באתר מעודכנים
מאד חשוב כי גרסת הוורדפרס באתר שלכם תהיה מעודכנת לגרסה האחרונה. כנ״ל לגבי התוספים בהם אתם משתמשים. מעבר לכך, השתמשו אך ורק בתוספים ותבניות עליהן אתם סומכים. התקינו תבניות ותוספים רק מהריפוזיטורי של וורדפרס ובחרו כאלו עם התקנות רבות ורק כאלו להם ציון גבוה בביקורות.
אם אתם נמצאים מאחור ברמת גירסאות אתם חשופים לפריצות רבות יותר מכיוון והאקרים נוטים לחפש ולתקוף גירסאות ישנות. הסיבה לכך היא שהאקרים כבר מודעים לליקויי האבטחה בגירסאות ישנות, ולכן פשוט יותר לפרוץ לאלו מאשר למצוא פירצות אבטחה חדשות בגירסאות חדשות.
נושא חשוב לא פחות – הקפידו לבצע גיבוי של האתר שלכם! גיבוי יאפשר לכם לשחזר את האתר במהירות במקרה האתר שלכם נפרץ.
4. השתמשו בסיסמאות חזקות
היו חכמים בבחירת שם המשתמש והסיסמה לממשק הניהול של וורדפרס. אין להשתמש ב admin כשם משתמש ויש לבחור סיסמה מורכבת. זוהי כנראה אחת הפעולות החשובות ביותר למניעת פריצות, ובצורה אירונית גם הפעולה הכי פשוטה לביצוע.
ולמרות זאת, הרבה בעלי אתרים בוחרים סיסמה פשוטה כגון 1234567 בכדי לזכור זו בקלות. אסור לעשות זאת, בחרו בסיסמה מורכבת ושמרו אותה במקום בטוח.
5. שנו את ה Login URL ללוח הבקרה של וורדפרס
בכדי למנוע התקפות Brute Force, יהיה נכון לשנות את כתובת הגישה לממשק הניהול של וורדפרס. מכיוון וכולנו יודעים שהגישה לממשק הניהול מתבצעת עם wp-admin כברירת מחדל, האקרים ניגשים לכתובת זו ומנסים כל מיני קומבינציות של שמות משתמש וסיסמאות בכדי לנסות ולפרוץ לאתר שלכם.
בכדי להקשות עליהם עלינו לשנות את כתובת ה URL לממשק הניהול. ניתן לעשות זאת באמצעות תוסף מצויין וקל לתפעול בשם WPS Hide Login.
תנו מבט במדריך קצר שכתבתי המסביר כיצד לשנות את ה Login URL ללוח הבקרה של וורדפרס.
6. הגבילו את מספר נסיונות ההתחברות
כברירת מחדל, וורדפרס מאפשרת לנסות סיסמאות שונות ללא הגבלה כלל על כמות הניסיונות. קיימים מספר תוספים המאפשרים הגבלה של מספר ניסיונות ההתחברות, כשאחד המומלצים הוא התוסף Limit Login Attempts Reloaded.
7. אבטחו את הקובץ wp-config.php
הקובץ wp-config.php
מכיל את כל האינפורמציה הנחוצה בכדי לקבל גישה למסד הנתונים של האתר. זהו הקובץ החשוב ביותר בהתקנת הוורדפרס שלכם. יש לאבטח את הקובץ ולמנוע גישה אליו על ידי הוספת הקוד הבא לקובץ .htaccess
:
<Files wp-config.php>
order allow,deny
deny from all
</Files>
שינויים בקובץ htaccess מומלץ למשתמשים מנוסים בלבד.
8. בטלו XML-RPC
XML-RPC מאפשר לכם להתחבר מרחוק לאתר הוורדפרס שלכם באמצעים שונים. כמו כן הוא מאפשר trackbacks & pingbacks באתר שלכם. האקרים יודעים לנצל זאת על מנת לבצע מתקפות DDoS.
אתם יכולים לבטל את XML-RPC על ידי שימוש בתוסף פשוט הנקרא Disable XML-RPC או על ידי הוספת השורות הבאות לקבוץ .htaccess
:
## block any attempted XML-RPC requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>
שינויים בקובץ htaccess מומלץ למשתמשים מנוסים בלבד.
9. הסתירו את גירסת הוורדפרס שלכם
עדכוני גירסה של וורדפרס בדרך כלל מכילים עדכוני אבטחה. אם תתנו מבט בקוד המקור של אתר הוורדפרס שלכם, תמצאו כי גירסת הוורדפרס שאתם משתמשים בה גלויה לכל.
אינפורמציה הזו נגישה להאקרים ונותנת להם מידע במידה והם מחפשים לתקוף אתרים המשתמשים בגירסאות וורדפרס ישנות יותר ובעלות פירצות אבטחה (שכבר ידועות לכל).
על מנת להסתיר את גירסת הוורדפרס הוסיפו את הקוד הבא לקובץ functions.php
:
function wpversion_remove_version() {
return '';
}
add_filter('the_generator', 'wpversion_remove_version');
10. השתמשו בתוסף אבטחה
קיימים לא מעט תוספי אבטחה לוורדפרס אשר יבצעו חלק מאותן פעולות שציינו במדריך זה ויעזרו למנוע מתקפות Brute-Force ולחזק את אבטחת האתר.
תוספים אלו יעזרו לחסום רשתות זדוניות, לחסום פירצות אבטחה, לחייב בחירת סיסמאות חזקות, לסרוק שינויים בקבצי הליבה של וורדפרס, להטמיע חומת אש (Firewall), לעקוב אחר שינויי DNS ועוד…
הנה מספר תוספי אבטחה מומלצים וידועים שאתם יכולים לבדוק:
11. השתמשו תמיד בחיבור מאובטח
לא משנה מהיכן אתם מתחברים לשרת שלכם, תמיד יש לוודא שהחיבור בו אתם משתמשים הוא חיבור מאובטח. רצוי להשתמש בהצפנת SFTP אם חברת האחסון שלכם מאפשרת זאת (או SSH) בכדי להתחבר לאתר. על חברת האחסון בה האתר שלכם מאוחסן להיות תמיד מאובטחת ולספק את הכלים הבטוחים ביותר להתחבר לשרת.
כשאני אומר מאובטחת אני מתכוון לשימוש בגירסאות תומכות אך מעודכנות של PHP ו MySQL, לבודד חשבונות ולהשתמש בחומות אש. המנעו מחברות אחסון זולות ושיתופיות מכיוון ובין היתר – אתם יכולים להתקל בבעיות של שרתים עמוסים יתר על המידה וחלוקה של IP's.
12. בטלו את אפשרות עריכת הקבצים מלוח הבקרה של וורדפרס
משתמשים אשר מחוברים כמנהלי מערכת יכולים לערוך את קבצי ה php של התבניות והתוספים באתר. מומלץ לבטל את אפשרות זו ולערוך קבצים אך ורק באמצעות FTP.
על מנת לבטל את האפשרות הוסיפו את השורה הבאה לקובץ wp-config.php
:
define('DISALLOW_FILE_EDIT', true);
13. בטלו רמזים הקשורים להתחברות משתמשים לאתר
כאשר אתם מנסים להתחבר לממשק הניהול של וורדפרס עם שם משתמש או סיסמה לא נכונים, וורדפרס תציג הודעה המציינת איזה מהפרטים שהכנסתם היה שגוי (שם המשתמש או הסיסמה).
הודעה זו מרמזת לאלו המנסים לפרוץ לאתר שלכם איזו מהנתונים אינו נכון. ניתן לשנות הודעות אלו להודעה כללית יותר ע״י הוספת הפונקציה הבאה לקובץ functions.php
:
function no_wordpress_errors(){
return 'Wrong Details - Try Again';
}
add_filter( 'login_errors', 'no_wordpress_errors' );
14. השתמשו בתעודת SSL להצפנת נתונים
הטמעת תעודת SSL חשובה מאד בכדי לאבטח את לוח הבקרה של וורדפרס. השימוש ב SSL דואג לתקשורת נתונים מוצפנת ומאובטחת בין המשתמש, הדפדפן והשרת, ובכך מקשה על האקרים לנצל תקשורת זו ולגנוב מידע שהכנסתם בדפדפן כגון שם משתמש או סיסמה.
בהרבה מקרים האופציה לתעודת SSL היא אפשרות חינמית המגיעה עם הרכישה של חבילת האחסון ובד״כ התעודה היא של LetsEncyipt.
תעודת SSL משפיעה גם על הדירוג של אתר הוורדפרס שלכם בגוגל ומדרגת אתרים בעלי תעודת SSL גבוה יותר מאשר אתרים ללא תעודה. דירוג גבוה יותר = יותר תנועה לאתר שלכם… הנה מאמר שכתבתי המדבר בהרחבה על תעודות SSL והאם יש צורך בהן באתרי וורדפרס.
תעודת SSL באה יחד עם המעבר החשוב לפרוטוקול HTTPS שלו יתרונות בפני עצמו מעבר לאבטחת התקשורת אותה הזכרנו קודם לכן.
15. הוסיפו Security Headers
Security Headers בוורדפרס נוצרו בכדי להגן על אפליקציות ממתקפות תכופות ונפוצות ללא הצורך להוסיף או לשנות משהו בקוד של האפליקציה שלכם. אז אומנם פעולה זו אחרונה כרונולוגית בסדר הופעתה בפוסט, אך היא בהחלט אחת מהפעולות הראשונות והחשובות שיש לבצע.
תנו מבט בפוסט שכתבתי על הוספת Security Headers לאתרי וורדפרס.
לסיכום
כפי שאתם רואים ישנן הרבה פעולות שניתן לבצע בכדי לחזק את האבטחה של אתר הוורדפרס שלכם. הרבה מההמלצות לוקחות רק מספר דקות על מנת להטמיע אותן, עשו זאת ובכך תוכלו להיות קצת יותר רגועים לגבי אבטחת האתר.
אני מקווה שמצאתם מדריך זה מועיל, הרגישו חופשי להגיב ולשתף ומאד אשמח אם תכתבו בתגובות על טיפים נוספים שיש ברשותכם כך שכולנו נוכל ללמוד 🙂
התוסף All In One WP Security & Firewall נחשב לטוב?
לא ניסיתי תוסף זה מעולם האמת, אך ממה ששמעתי / קראתי הוא בהחלט תוסף אבטחה ראוי…
תודה
שלום.
לגבי תוסף All in One SEO Pack מאת: Michael Torbert. כמקדם מזה 15 שנים. אני לאחרונה משתמש בו לא מעט. הוא טוב, עד טוב מאוד. תלוי מה הידע וההבנה שלך בקידום.
באופן בסיסי מאפשר כתובות קנוניות, טייטלים, תיאור, טאגים, מפת אתר, בחירת סוגים דפים לאינדוקס, צורת תצוגה, הטמעת גוגל אנליטיקס…
שלום רועי, תודה על הכתבות האיכותיות.
כנראה שנפגעתי מהתקפה וכל נסיון התחברות שלי מוביל לעמוד הבית הרגיל. אין לי אפשרות להכנס למערכת הניהול. כרגע הקבצים שלי ב DIRECT ADMIN ואני לא יודע איך להביא למצב של איחזור הסיסמא שלי משם.
האם לדעתך זה יכול לעזור ? האם תוכל לסייע לי ולמי שעוד נפגע בשלבים איך לעשות זאת דרך ה DIRECT ADMIN ? חיפשתי בגוגל וכל המדריכים הם על CPANEL..
תודה מראש,
עופר.
היי עופר 🙂
איני מבין מה יעזור לך לאחזר סיסמא, האם כשאתה מנסה להתחבר למערכת הניהול של וורדפרס אתה מקבל הודעה שהפרטים שגויים? אם זה לא המצב שחזור סיסמא לא יעזור לך..
תודה על התגובה המהירה,
אני לא מקבל הודעת שגיאה אלא מיד מתבצע REDIRECT לעמוד הבית. כאילו נכנסתי מ"בחוץ".
אז כפי שאמרתי אחזור סיסמא לא יעזור לך, הפיתרון נמצא במקום אחר..
שלום רועי תודה רבה על המדריך אך יש לי שגיאה 500 בגלל שניסיתי להתעסק בקוד אפילו שאני לא יודע?
אתה אולי יכול לתת לי הסבר איפה הטעות שלי? אני פשוט הוספתי בכל מקום שכתבת מבלי לחשוב פעמיים ואחד מתחת על השני.
תודה רבה לך.
עובד לי עכשיו אחרי שניקיתי את פאקטשיאון אתה אולי יודע מה הבעיה? שעשיתי?
היי סלבה,
קשה לי לומר מה הבעיה שנתקלת בה ומדוע אתה מקבל שגיאה 500. אני מציע שתעבור אחד אחד על הסעיפים ותבדוק איזה מהם מפיל את האתר….
אתה מוזמן לשתף איזה מהם היה בעייתי ואבדוק..
תודה רבה על המדריך והשגיאה 500 שאני מקבל זה בגלל הבוטים ניסיתי הכל אף לא עובד ולא יודע למה
האם Wordfence מטפל בחלק מהעניינים האלה בעצמו?
כן, בחלק מהעניינים אך הוא אינו פתרון כולל…
מדריך מפורט מאוד, תודה לך
מאמר מעולה. כל הכבוד על ההשקעה.
לדעתי disable rest api פוגע בשליחה של טפסי CF7 בניידים.
כיוון שCF7 מאוד פופולרי, כדאי לציין שצריך לאפשר עבורו rest api דרך האפשרויות של disable rest api. בנוגע לשאר התוספים לא נתקלתי בבעיות.
הוא פוגע באופן כללי, לא רק בניידים אלחנן ובהחלט שווה לציין זאת. אעדכן את המאמר בהקדם…
מאמר מושקע ומקיף את כל האפשרויות, כל הכבוד על התרומה.
תודה רבה
היי, תודה רבה!! מפורט מאוד. לגבי סעיף 12 – בטלו את הגישה לתיקיית wp-includes, הדבקתי את הקוד…הוא הסתיר הרבה מהקבצים אבל חלקם עדיין מוצגים. האם יש קוד שחוסם גם אותם?
תודה!
איזה קבצים לדוגמה עדיין מוצגים? בעיקרון המטרה היא להסתיר קבצי PHP.
לגבי אתר וורדפרס ופישינג.חברת האחסון טוענת שיש פריצה לאתר שלי, וכל פעם מבוצע פישינג לאתר.
מגיעים לאתר ומופנים מייד לאתר החטפן אפילו לשניים. האם אפשר למחוק , לתקן, לפתור בעיה זו ?
תודה.
סליחה על התגובה המאוחרת ואני מניח שנפתרה הבעיה כי בהחלט אפשר. תעזר בבעל מקצוע..
אחלה פוסט, כל הכבוד.
שאלה, לגבי מניעת גישה לתיקיות באתר, אני צריך לסגור עם תג כלשהו? כי אני רואה שעדיין ניתן לצפות ברשימת התיקיות והקבצים?
Options All -Indexes
תודה על המדריך המשוקע, יש לך אולי מדריך או הסבר מה עושים במקרה שכבר קיימת מתקפת DDOS על האתר?
תודה יוני,
לצערי אין מדריך על הנושא בשלב הנוכחי….
לגבי פתרון 21 ניסיתי להעתיק את הקוד (דרך העורך של וורדפרס) וזה התשובה שקבלתי בנסיון לשמור: "השינויים בקוד PHP שוחזרו בגלל שגיאה בשורה 36 בקובץ wp-content/themes/scoop/functions.php. נא לתקן ולשמור שנית.״
syntax error, unexpected '<', expecting end of file"
תודה אהרן
היי אהרון, שים לב שאינך מעתיק את תגית ה PHP הפותחת והסוגרת בקוד זה.
היי, האם יש הגדרה שלא מאפשרת לגשת לפריט ב MEDIA של WORDPRESS , ממסמך WORD (באמצעות לינק) ?
היי שיר,
אני לא מכיר הגדרה כזו…
תודה ….
מקבלת 403 בפניה מ WORD לרכיב ב MEDIA …
את מדברת על קישור רגיל מוורד לקובץ Media כלשהו בוורדפרס? מה הקישור? (אנא המשיכי את השיחה באותה תגובה ואל תפתחי תגובה חדשה)..
תודה ….
מקבלת 403 בפניה מ WORD לרכיב ב MEDIA …
האם תרצה ממש את הלינק שלקחתי מה MEDIA?
אכן קישור רגיל שאני לוקחת מהמדיה של WP ושותלת בוורד – לא נפתח שם.
בדקי את הגדרות ב WORD… לא מאמין שזה קשור לאתר..
שלום
מאמר מעולה!
ברשותי אתר וורדפרס, איבטחתי את האתר בעבר, לאחר התעסקויות רבות בלוח הבקרה של וורדפרס נוכחתי לדעת כי האתר אינו מאובטח (הפך לHTTP מHTTPS)
א. האם יתכן כי התעסקות בלוח הבקרה של וורדפרס לאתר יסיר את האבטחה, או שהאפשרות היחידה היא שפג תוקפנ של תעודת האבטחה? (לא אני רכשתי את התעודה לאתר לכן אינני יודע באיזה חברה מדובר)
ב. האם תוכל להמליץ לי על חברות שיוכלו לבצע אבטחה לאתר שלי?
מדובר על אתר משרד הנדסה ולא על אתר מכירות המצריך אבטחה כבדה
האתר הוא: http://WWW.SHIRA-E.COM
היי זאב,
כן – ייתכן ששינויים בלוח הבקרה יגרמו לבעיות HTTPS. אתה מוזמן לדבר איתי לגבי אבטחה האתר דרך עמוד הצור קשר באתר.
"אין להשתמש ב-admin כשם משתמש" – מה הכוונה? מה זה האדמין, הכוונה למייל של מנהל האתר? כתוב לי ב"משתמשים" בממשק הניהול שלא ייתן לשנות את שם המשתמש. אם עושים את סעיף 20 זה לא מספיק?
היי מזל 🙂
הכוונה לוודא כי שם המשתמש אינו admin אלא שם ייחודי כלשהו. באפשרותך ליצור משתמש חדש שיהיה מנהל מערכת ולאחר מכן תוכלי למחוק את אותו משתמש admin…
אהה הכוונה למילה admin בתור שם משתמש? לא הבנתי את זה
בדיוק… 🙂
רציתי בבקשה לשאול, ולא מצאתי מקום מתאים יותר, איך ניתן לדרוש ממשתמשים חדשים באתר, שיאשרו את כתובת הדוא"ל שלהם, ע"י קישור/ קוד שיישלח אליהם למייל בעת ההרשמה.
תודה רבה על המאמרים המחכימים, מאד נהנה לקרוא!!
שלום,
רציתי לשאול.
האם יש לי אפשרות לייצר לבד שרת שבו יהיה הוורדפרס, כדי שהוא יהיה מאובטח? מה הדרך הכי טובה לאבטחת מידע בwordpress?
תודה
היי רות,
לא בטוח שאני מבין מה הכוונה בלייצר שרת. בחרי חברת אחסון טובה ובצעי את פעולות האבטחה הרלוונטיות ובזה זה נגמר.
תודה רבה על המאמר המועיל,
האם וורדפרנס מטפל בסעיפים 6,7,8,9,11,12,13?