אבטחת אתר וורדפרס – עד כמה כמה להשקיע במיגון האתר שלך? וורדפרס הינה מערכת קוד פתוח: משמעות הדבר היא כי כל משתמש יכול לגשת באופן חופשי וחינמי אל המערכת, לשנות אותה ולשרג אותה כראות עיניו.
הקוד הפתוח של וורדפרס בא לידי ביטוי באופן הבולט ביותר באמצעות קהילה רחבה של מפתחי קוד בעל ידע רחב בתחום התכנות, המאפשר להם לשתף פעולה בתהליך עדכון ותחזוק הקוד השוטף של המערכת בכלל ושל אמצעי האבטחה שלה בפרט.
כמו כן מבצעים אותם מתכנתים עדכונים שוטפים של כלל קבצי הליבה של וורדפרס ובכך למעשה מאפשרים לכלל המשתמשים בוורדפרס שימוש קל ונוח.
הפופולריות הרבה של וורדפרס, תפוצתה הגבוהה בכל רחבי העולם והיותה משמשת למגוון של אתרי אינטרנט וסוגי צרכנים, הופך אותה ליעד מועדף של "פורצים" אשר מבצעים חבלות מכוננות בקוד של המערכת או משתילים בה קודים זדוניים הפוגעים באתרים המופעלים באמצעותה.
אותן חדירות למערכת וורדפרס, מתבצעות על ידי איתור כשלי אבטחה בתבניות, תוספים ופיצ'רים שונים שנוספו אל המערכת אך לא עודכנו כהלכה מן הבחינה האבטחתית.
במדריך הבא נמליץ לכם על מספר צעדים חשובים הנוגעים לאבטחת האתר שלכם במערכת וורדפרס.
חשוב לעקוב אחר ההנחיות וליישם אותן באופן המדויק ביותר.
כך, תדעו כי עשיתם ככל הניתן על מנת להגן על האתר שלכם מפני מזיקים טורדניים.
1. שמרו על גירסאת וורדפרס מעודכנת
וורדפרס נבנתה בקוד פתוח, כפי שציינו בפתיח המדריך, ולכן היא עוברת תהליכי תחזוקה ועדכון באופן קבוע.
לכן, עלינו להיות ערים לעדכונים שוטפים ולבצע אותם באופן ידני או אוטומטי.
חשוב מאוד לשים לב לעדכונים שמציעה המערכת לגבי תוספים ופיצ'רים שונים המוצעים בה.
שימת לב שכזו תכריע לגבי יציבות אבטחת אתר הוורדפרס שלכם.
חשוב מאוד להיות עם היד על הדופק ולשם לב להודעות העדכון הללו הרלוונטיות במיוחד לקבצי הליבה של האתר שלכם ושומרת עליהם בטוחים מפני חדירות זדוניות לאתרכם.
2. בדקו אם התוספים מעודכנים
בדומה לעדכון שוטף ותחזוקת מעטפת האבטחה לקובצי הליבה של המערכת, כך יש להקפיד כי גם מכלול התוספים הפועלים במסגרת הקוד של האתר, מעודכנים לגרסת האבטחה המיטבית והחדשה ביותר.
שמירה על תוספים מעודכנים היא אחת הדרכים לשיפור משמעותי של מערך האבטחה של האתר.
מאחר ומרבית התוספים הם חינמיים ועל לכן הקוד שלהם זמין לכל דורש, חשוב מאוד להתעדכן בהקדם האפשרי בגרסת האבטחה החדישה ביותר.
כך, תמנע מחשיפת האתר לכשלי האבטחה המוכרים לפורצי האתרים.
אם הורדתם תוסף ממאגר התוספים הרשמי של וורדפרס, תוכלו לבדוק בקלות אם יש לתוסף זה עדכונים זמינים ולבצע עדכון מידי.
אם קנית תוסף מגורם אחר, בדוק באופן שוטף אם מערך התמיכה של התוסף ביצע עדכון של נתוני האבטחה.
זכורו תמיד לגבות את קבצי המערכת ומסד הנתונים שלכם, לפני העדכון!
3. בדקו אם יש תוספים מושבתים
אם תוסף אשר מותקן באתר שלכם אינו מצוי בשימוש, רצוי להסירו מתיקיית התוספים.
במידה והוא מכיל קוד זדוני או נקודות תורפה ברמת האבטחה, הוא עשוי להיות מנוצל בידי פורץ אתרים, ללא קשר לעובדת היותו של התוסף בלתי פעיל.
עברו על דף התוספים של האתר שלכם בלוח הבקרה ומחקו את כלל התוספים שאינם פעילים.
לחלופין, התחברו באמצעות FTP והעבירו אותם לתיקיה כלשהי שאינה /wp-content/plugins/.
4. שימו דגש על סיסמאות חזקות והרשאות משתמש
ניסיונות פריצה למערכות וורדפרס הינם נפוצים ביותר.
הן בשל הסיבות הטכניות שצויינו לעיל והן בשל שכיחותם הרבה של אתרים המושתתים על מערכת זו ברחבי הרשת.
ניתן למנוע ניסיונות אלו, או לפחות להקשות עליהם, על ידי שימוש בסיסמאות אבטחה חזקות, ייחודיות, ארוכות, ובעלות תווים יחודיים.
אל תבחרו סיסמא שאתם מסוגלים לזכור! זה מתכון לפריצות חוזרות ונשנות אל האתר שלכם.
עשו שימוש במערכת ניהול סיסמאות, באמצעותה תוכלו לעשות שימוש בסיסמאות ארוכות ומורכבות מבלי הצורך לזכור אותן בעל פה.
כך, תהפכו את החיים של פורץ האתרים לקשים בהרבה.
יש לשם לב כי במידה ואנו מוסרים באופן חריג את פרטי המשתמש שלנו אל אדם אחר, מומלץ ואף רצוי לעשות זאת באמצעות יצירת משתמש ייעודי לשם כך.
באמצעות פתיחת משתמש מסוג זה, תוכלו לנהל את הרשאותיו של מקבל הגישה ולהסירו מן המערכת בעת סיום תפקידו.
5. פתרונות גיבוי ושחזור נתונים בוורדפרס
עשיתם את כל צעדי המנע המומלצים על מנת להגן על האתר שלכם? מצוין! האם כעת אפשר להסיר מעליכם כל דאגה ולישון בשקט ובשלווה? לצערנו, לא כך הדבר.
חשוב להבהיר כי מערכת הוורדפרס מתפתחת באופן תדיר, אשר יוצר ללא הפסק צורכי אבטחה חדשים ועדכונים שיש לבצע במהירות.
כמו כן, לצערם של בעלי האתרים, מרבית חורי האבטחה והפרצות באתר מתגלים רק לאחר מעשה כאשר האתר כבר ניזוק.
משום כך חשוב מאוד לשם דגש על ביצועו של גיבוי יומיומי.
כך, נשמר האתר שלכם, על כלל היבטיו הגלויים והסמויים, על גבי שרת מרוחק וסודי ובמידת הצורך תוכלו לשחזר את הגרסה התקינה האחרונה שגובתה בטרם בוצעה הפריצה הזדונית אל האתר שלכם.
7 תוספים מומלצים ביותר לגיבוי אתר הוורדפרס:
- UpdraftPlus
- VaultPress (Jetpack Backup)
- BackupBuddy
- BlogVault
- BoldGrid Backup
- BackWPup
- Duplicator
6. שנו את שם המשתמש המוגדר כברירת מחדל
בעבר, שם המשתמש של המערכת היה באופן אוטומטי ה admin של האתר.
על מנת להקשות על פורצים את תהליך איתור שם המשתמש, מפתחי המערכת דאגו לשנות את ברירת מחדל זו וכעת בעת תהליך היצירה הגולש מחויב לבחור שם משתמש מותאם אישית.
על אף זאת, ישנם עדיין אין ספור גולשים אשר מגדירים באופן ידני את שם המשתמש שלהם, בלא ידיעה מוקדמת כ admin .
במידה ותיאור זה חל גם עליך, רצוי מאוד לרוץ ולשנות את שם המשתמש על מנת להקשות על פריצות עתידיות למערכת האתר שלך.
שימו לב כי וורדפרס אינה מאפשרת לשנות את שם המשתמש שהוגדר במקור כברירת מחדל.
על מנת לעקוף את הגדרה זו ולשנות את שם המשתמש שכבר בחרתם, לבצע את הפעולות הבאות:
- ניגש אל פאנל ניהול הוורדפרס שלנו וניצור משתמש חדש ונציב אותו בהתקן מנהל.
- נמחק את המשתמש הישן
7. הסתירו את גרסת המערכת מפני אחרים
כפי שלא היינו מעוניינים כי כל אדם זר יידע היכן מוחבאים המפתחות לביתנו, כך עלינו להמנע מחשיפת תצורת מערכת הוורדפרס של האתר שלנו.
במידה ותחליטו להציג את גירסת המערכת שלכם לרבים כברירת מחדל המופיעה בכותרת קוד המקור של האתר שלכם, תקלן בכך על גורמים עוינים המעוניינים להסב נזק לאתר שלכם ולפגוע בו.
אנו ממליצים לוודא כי המערכת שלך מנועה מלהציג באופן גלוי את גרסתה, כך שלא תהיה חשופה לעיני כל.
על מנת להסיר את הצגת הגרסה, כל שצריך לעשותו הוא לגשת אל קובץ הfunctions.php ולהוסיף את הקוד הבא:
function wp_version_remove_version() { return ''; } add_filter('the_generator', 'wp_version_remove_version');
חשוב לשם לב כי אם המערכת פועלת על WordPress 5.0 ומעלה, סעיף 5 אינו רלוונטי.
8. השביתו את העריכה במרכז השליטה של המערכת
חשוב לשם לב ולהעניק למשתמשים את התפקידים וההרשאות הדרושים להם כך שלא יגשו למקומות לא להם באתר.
נצא מנקודת הנחה כי אדם כזה או אחר קיבל גישה אל משתמש קצה במערכת וכעת יכול לגשת אל פאנל הניהול, לערוך, להוסיף ולשנות מערכים וקוד ואף להשתיל קוד זדוני באתר.
על מנת לפתור ולחסום את אופציית העריכה דרך פאנל הניהול, יש לגשת אל קובץ ה wp-config.php ולמקדם בתוכו את הקוד הבא
define('DISALLOW_FILE_EDIT', true);
9. הגנו על קובץ ה wp-config
העתק את הקוד למטה לקובץ- .htaccess בכדי למנוע גישה לקובץ wp-config.php.
<files wp-config.php>
order allow,deny
deny from all
</files>
לאחר הוספת קטע קוד זה לקובץ .htaccess, העלו אותו בחזרה למערכת כדי להחליף את הקובץ הישן.
בדוק אם לקובץ wp-config יש את ההרשאות הנכונות (chmod).
קובץ wp-config מכיל מידע רגיש כגון (שם משתמש וסיסמה) של מסד הנתונים בטקסט רגיל ולא מוצפן תוכן הקובץ אינו אמור להיות נגיש לאף אחד מלבדך.
מהו ה-chmod הרצוי ביותר בעבור wp-config זה די תלוי באופן שבו השרת שלך מוגדר, אבל יש כמה הנחיות כלליות שניתן לעקוב אחריהם.
אם אתם מתארחים על גבי שרת מבוסס Windows, יש להתעלם מכל מסעיף זה
נסה להגדיר ל-chmod הרשאות 0400 או 0440 ואם האתר עובד כרגיל זוהי ההרשאה הכי טובה להשתמש בה כך שלמשתמשים אחרים לא יהיו הרשאות על הקובץ יש להגדיר את הספרה האחרונה לאפס
למשתמשים לא אמורות להיות גם זכויות גישה אלא אם כן Apache נופל תחת הקטגוריה זו, במידה וזה קורה אז הגדר את זכויות הקבוצה ל-0 או 4
בדוק אם wp-config קיים במיקום ברירת המחדל.
אילו פורץ יקבל גישה אל תיקיית הftp שלך, זה לא ימנע פריצה, אבל זה בהחלט יקשה על מציאת הקובץ ואף יגרום לייאוש הפורץ מלנסות ואף יטשטש קצת את ההתקנה שלך.
על מנת לטפל בבעיה זו עליכם להעביר את קובץ ה-wp-config רמה אחת למעלה במבנה התיקיות.
כך שאם המיקום המקורי היה
/home/www/wp-config.php
העבר את הקובץ למיקום
/home/wp-config.php
או למשל העבר ממיקום
/home/www/my-blog/wp-config.php
העבר ל:
/home/www/wp-config.php
10. השתמשו בכותרות אבטחה
ניתן להוסיפם באופן עצמאי על ידי שינוי קובץ ה function.php
Cross-scripting attacks
לאחר מכן יש להוסיף את הקוד הבא:
header('Content-Security-Policy: default-src https:');
ניתן לחסוך הוספה ידנית באמצעות שימוש בתוסף כותרות אבטחה.
Iframe clickjacking
ניתן להשתמש בקוד הבא על מנת למנוע מן הדפדפן להציג קודים זדוניים המחוללים נזק באתר שלך:
function wc_prevent_clickjacking() {
header( 'X-FRAME-OPTIONS: SAMEORIGIN' );}
add_action( 'send_headers', 'wc_prevent_clickjacking', 10 );
X-XSS-Protection and X-Content-Type-Options
ניתן להגן על X-XSS ו- X-Content-Type, על ידי הוספת השורות הבאות למניעת התקפות XSS ואמור ל- Internet Explorer לא לרחרח סוגים מפיים
header('X-XSS-Protection: 1; mode=block');
header('X-Content-Type-Options: nosniff');
Enforce HTTPS
צרף את הקוד הבא על מנת להורות לדפדפן להשתמש רק ב- HTTPS:
header('Strict-Transport-Security:max-age=31536000; includeSubdomains; preload');
Cookie with HTTP Only and Secure flag in WordPress
הגדר עבור הדפדפן להשתמש רק בקובץ ה- cookie שנקבע על ידי השרת וכי העוגיה זמינה בערוצי SSL על ידי הוספת הקוד למטה לקובץ wp-config
@ini_set('session.cookie_httponly', true);
@ini_set('session.cookie_secure', true);
@ini_set('session.use_only_cookies', true);
אם אינך רוצה להוסיף כותרות אלה באופן ידני, שקול להשתמש בתוסף כמו כותרות אבטחה.
ללא קשר לשיטה שתבחר ליישם את כותרות האבטחה.
Referrer-Policy.
דרך פשוטה לנהל ביקורת על חשיפת הכותרת המפנה של האתר. באמצעות כלי זה ניתן לדעת מאיפה מופנים מבקרים הגולשים באתר.
ההגדרה המומלצת תאפשר לך לצפות בנתונים בתוך מערכת האתר אל תמנע ממשתמשים חיצוניים להיחשף למידע זה בעצמם.
התיקון קל מאוד. פתח את הקובץ functions.php והוסף את הדברים הבאים
header('Referrer-Policy: same-origin');
או לחלופין הוסיפו את הקוד הבא לקובץ ה-htaccess.
#start set Referrer-Policy
<IfModule mod_headers.c>
Header set Referrer-Policy "same-origin"
</IfModule>
#end set Referrer-Policy
בדוק אם כותרות תגובת השרת מכילות Permissions-Policy
אמצעי להגדיר לדפדפן באילו פיצ'רים של האתר יכול הגולש לעשות שימוש.
כך, ניתן למנוע מגולשים לבצע באתר פעולות שאינך מעוניין כי תיתנן לו האפשרות לבצע.
לרשימה מעודכנת היכנסו לקישור Mozilla.org
התיקון קל מאוד. פתח את הקובץ functions.php והוסיפו את הקוד הבא
header("Permissions-Policy: accelerometer 'none' ; ambient-light-sensor 'none' ; autoplay 'none' ; camera 'none' ; encrypted-media 'none' ; fullscreen 'none' ; geolocation 'none' ; gyroscope 'none' ; magnetometer 'none' ; microphone 'none' ; midi 'none' ; payment 'none' ; speaker 'none' ; sync-xhr 'none' ; usb 'none' ; notifications 'none' ; vibrate 'none' ; push 'none' ; vr 'none' ");
או לחלופין הוסיפו את הקוד הבא לקובץ ה-htaccess.
#start set permissions-policy
<IfModule mod_headers.c>
Header set Permissions-Policy "accelerometer 'none' ; ambient-light-sensor 'none' ; autoplay 'none' ; camera 'none' ; encrypted-media 'none' ; fullscreen 'none' ; geolocation 'none' ; gyroscope 'none' ; magnetometer 'none' ; microphone 'none' ; midi 'none' ; payment 'none' ; speaker 'none' ; sync-xhr 'none' ; usb 'none' ; notifications 'none' ; vibrate 'none' ; push 'none' ; vr 'none' "
</IfModule>
#END set permissions-policy
11. הפעילו תעודות SSL באתר הוורדפרס
אבטחת אתר וורדפרס בעזרת שימוש ב HTTPS מאפשר למפעיל האתר ביטחון מקסימלי באינטרקציה המתקיימת בין האתר ובין הדפדפן של המשתמש. באמצעות כך, מצומצם הסיכון הכרוך בחשיפת האתר לפורצים זדוניים המבקשים לחולל בו נזק.
קידום אתרים
לשימוש ב HTTPS ישנה השפעה, גם אם מינורית על הדירוג שמעניק גוגל לאתרים.
לכן, מרבית בעלי האתרים עושים שימוש בכלי זה רק מטעמי אבטחה, אלא גם מטעמי מיקום בתוצאות החיפןוש האורגני של גוגל.
אמון ואמינות
על פי סקר שנערךב GlobalSign , יותר מ 28.9% מהמבקרים באתרי אינטרנט מחפשים בדפדפן שלהם את סרגל הכתובות הירוק 77% מן הגולשים אף חוששים מדליפת הנתונים שלהם ומיירוט שלהם בידי גורמים זדוניים.
המנעול הירוק, המוצג בדפדפן ומורה לגולשים על גלישה בטוחה, מוכר כגורם קריטי לשקט הנפשי של הגולש, לביטחונו באתר ולהרשה שפרטיו האישיים לא ידלפו החוצה.
נתוני הפניה
המעבר מ HTTP ל HTTPS מוכר ככזה המבצע חסימה של נתוני הגלישה של המשתמש ומונע מהם לעבור לכלי איסוף ידע, למשל Google Analyrics.
בפועל, מידע זה מועבר לקטגוריית "Direct Traffic" ונאגר במסגרתו.
אזהרות כרום
כבר מיולי 2018 החלו גרסאות דפדפן כרום של גוגל לסמן אתרים אשר אינם עושים שימוש ב HTTPS כאתרים בלתי מאובטחים.
סימון זה פוגע כמובן בצורה משמעותית בחוויית הגלישה של השתמש ומוריד את רמת האמון שלו באתר ובעסק שבו הוא מביט.
תנועה לאתר המרוכזת בעיקר בדפדפן כרום, הינה סיבה מעולה לבצע מעבר ל HTTPS – כרום מצביע באופן בולט על אתרים אשר לא ביצעו את המעבר ולכן, אם משם מגיעה אליך מרבית תנועת הקהל שלך, בצע את המעבר עוד היום.
ביצועים
שימוש ב-HTTPS עשוי להוביל אפילו לשיפור מהירות האתר מבחינת מהירות ומעבר בין דפים.
המערכת מתייעלת הן מבחינת הסריקות שמבצע גוגל לביצועי האתר והן במסגרת חוויית המשתמש של הגולש הזוכה לביצועים מהירים וחלקים יותר.
מעוניינים לחדש את תעודות SSL \ HTTPS עכשיו?
כנס אל פאנל ניהול אחסון וורדפרס של Alderity ושם תיגש אל ניהול אחסון -> ניהול אחסון מרחוק -> (בחר בטאב) אחסון אתרים -> צור תעודת SSL וכעת אתה בעל תעודת SSL של Let's Encrypt.
כדי לאכוף חיבור מאובטח ומוצפן בינך לבין השרת בעת הכניסה לאתר ובניהולו, הוסף את השורה הבאה לקובץ wp-config
define('FORCE_SSL_ADMIN', true);
12. השביתו את הקובץ XML-RPC
קובץ ה XML-RPC הינו יעד גדול להתקפות וזאת מכיוון שתכונותיו הם השימוש בשיטת system.multicall שיטה זו מאפשרת שימוש במספר בקשות יחדיו.
תוספי וורדפרס שונים מסתמכים על XML-RPC, אבל רוב המשתמשים אינם משתמשים בא ולכן ניתן פשוט להשבית את הגישה אליו.
על מנת להשבית את XML-RPC, תוכלו להשבית אותו באמצעות המדריך הבא
ניתן להשבית את XML-RPC באמצעות קובץ .htaccess
פשוט הדבק את הקוד הבא בקובץ ה- .htaccess שלך:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php> order deny,allow deny from all allow from 123.123.123.123 </Files>
13. שנו את מפתחות האבטחה של המערכת
מפתחות אבטחה בוורדפרס הינם מחרוזות של תווים אקראיים אשר משמשים להרשאה והצפנה. ניתן להגדיר את המפתחות הללו על ידי עריכת קובץ wp-config בכל זמן נתון.
במהלך ההתקנה הראשונית של המערכת נוצרות אוטומטית מפתחות האלו.
דוגמא כיצד נראים מפתחות האלו ללא התווים האקראיים והמוצפנים שלה
define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');
על מנת להחליף את המפתחות במפתחות חדשים ורעננים יותר יש להשתמש במחולל המפתחות של וורדפרס כדי לשנות אותם ולבכך לאבטח את האתר צעד אחד יותר.
14. השביתו דיווח על שגיאות המערכת
דיווח על שגיאות הינו שימושי לפתרון בעיות בקוד ולבדיקת תוספים או תבניות ספציפיים אשר בהם ישנן שגיאות באתר.
ניתן להשבית את דיווח השגיאות על ידי הוספת הקוד למטה לקובץ wp-config
error_reporting(0); @ini_set(‘display_errors’, 0);
15. כיצד לעצור שימוש גבוה במעבדי ליבה ב-admin-ajax באתר הוורדפרס
// admin-ajax.php high CPU – Solution
add_action( 'init', 'my_deregister_heartbeat', 1 );
function my_deregister_heartbeat() {
global $pagenow;
if ( 'post.php' != $pagenow && 'post-new.php' != $pagenow )
wp_deregister_script('heartbeat');}
16. בדקו את מצב ניפוי הבאגים הכללי מופעל.
הפעלת מצב ניפוי הבאגים או מצב דיווח השגיאות מופעל באתר רק יאט את האתר שלך.
יבלבל את המבקרים שלך בהודעות מוזרות, זה גם יעניק לתוקף הפוטנציאלי מידע רב ערך על המערכת שלך.
מצב ניפוי באגים כללי של וורדפרס מופעל/מושבת על ידי קביעה המוגדרת בקובץ wp-config.
פתח את הקובץ וחפש שורה דומה ל
#start define('WP_DEBUG', true);
מחקו אותה או החליפו אותה בשורה הבא
define('WP_DEBUG', false);
אם האתר עדיין מאפשר ניפוי באגים יש לבדוק כי אחד התוספים במערכת מאפשר מצב ניפוי באגים.
במקרה כזה יש להשבית את התוספים אחד אחד על מנת לאבחן מי מהם עושה זאת.
בדוק האם מצב ניפוי הבאגים של JavaScript מופעל
הפעלת סוגי מצב ניפוי הבאגים או מצב דיווח השגיאות מופעל באתר לא רק יאט את האתר שלך, יבלבל את המבקרים שלך בהודעות מוזרות, זה גם יעניק לתוקף הפוטנציאלי מידע רב ערך על המערכת שלך.
מצב ניפוי באגים כללי של וורדפרס מופעל/מושבת על ידי קביעה המוגדרת בקובץ wp-config.
פתח את הקובץ וחפש שורה דומה ל
define('SCRIPT_DEBUG', true);
מחקו אותה או החליפו אותה בשורה הבא
define('SCRIPT_DEBUG', false);
אם האתר עדיין מאפשר ניפוי באגים, יש לבדוק כי אחד התוספים במערכת מאפשר מצב ניפוי באגים.
במקרה כזה יש להשבית את התוספים אחד אחד על מנת לאבחן מי מהם עושה זאת.
בדקו אם קיים קובץ debug.log במערכת
הקובץ שגיאות אינו אמור להיות נגיש לדפדפן.
הקובץ משמש בעת איתור תקלות והוא עשוי להכיל מידע רגיש על השרת. זה גם סימן ברור שאתה מפעיל מערכת וורדפרס.
מחקו את הקובץ, הממוקם בנתיב- /wp-content/debug.log ואו חסמו את הגישה דרך קובץ htaccess
נעשה זאת על ידי הוספת קטע הקוד הבא לקובץ htaccess
#start block access to debug.log
<Files debug.log>
Require all denied
</Files>
#end block access to debug.log
17. בדקו אם הקובץ readme.html נגיש באמצעות HTTP במיקום ברירת המחדל
הקובץ readme מכיל מידע על גרסת הוורדפרס ואם הקובץ נשאר במיקום ברירת המחדל תוקפים יכולים לגלות בקלות את גרסת המערכת שלך.
זוהי בעיה קלה לפתרון, פשוט יש למחוק את הקובץ.
ניתן אף לשנות את שם הקובץ, ולהעבירו או לחסום גישה באמצעות קובץ .htaccess. אנו ממליצים על השיטה הכי בטוחה ויעילה פשוט מחקו את הקובץ.
18. בדקו האם קובץ license.txt נגיש באמצעות HTTP במיקום ברירת המחדל
קובץ license מציג מזהה של המערך אשר האתר מריץ. זוהי לא בעיית אבטחה בפני עצמה, אבל בעבור התוקפים זהו מידע אשר איננו רוצים שיתגלה.
זוהי בעיה קלה לפתרון. פשוט יש למחק את הקובץ. ניתן אף לשנות את שם הקובץ, ולהעבירו או לחסום גישה באמצעות קובץ .htaccess. אנו ממליצים על השיטה הכי בטוחה ויעילה פשוט מחקו את הקובץ.
19. בדקו האם קובץ install.php נגיש באמצעות HTTP במיקום ברירת המחדל
בעבר חווה הקובץ כמה בעיות אבטחה.
לכן לאחר התקנת המערכת הקובץ הופך חסר תועלת ואין סיבה לשמור אותו במיקום ברירת המחדל ונגיש באמצעות HTTP.
זוהי בעיה קלה לפתרון, פשוט יש למחק את הקובץ.
ניתן אף לשנות את שם הקובץ, ולהעבירו או לחסום גישה באמצעות קובץ .htaccess.
אנו ממליצים על השיטה הכי בטוחה ויעילה פשוט מחקו את הקובץ.
20. בדקו האם קובץ upgrade.php נגיש באמצעות HTTP במיקום ברירת המחדל
בעבר חווה הקובץ כמה בעיות אבטחה.
מלבד בעיות האבטחה, זהו צעד לא נבון לאפשר לאנשים להריץ סקריפטים לשדרוג מסד נתונים ללא ידיעתך.
קובץ שימושי אך לא אמור להיות נגיש במיקום ברירת המחדל.
זוהי בעיה קלה לפתרון. פשוט יש למחק את הקובץ.
ניתן אף לשנות את שם הקובץ, ולהעבירו או לחסום גישה באמצעות קובץ .htaccess. אנו ממליצים על השיטה הכי בטוחה ויעילה פשוט מחקו את הקובץ.
21. בדקו אם קידומת הטבלאות במסד הנתונים הינה ברירת המחדל (wp_)
ידיעת שמות הטבלאות במסד הנתונים מאפשרת לתוקף להגיע אל מידע רגיש כגון גיבוב סיסמאות.
מכיוון ששמות הטבלאות מוגדרים מראש הדרך היחידה שבה ניתן לשנות את שמות הטבלאות הינה באמצעות קידומת ייחודית.
כזה ששונה מ(wp_) או כל וריאציה הדומה לה
במידה ואתם מבצעים התקנה חדשה יש להגדיר קידומת טבלאות ייחודיות.
אם פועל אתר תחת המערכת ואתם רוצים לשנות את קידומות הטבלאות.
הדברים קצת יותר מסובכים וכדאי לבצע את השינוי רק אם אתה בעל מקדים במערכת ואף בשפות התכנות בא היא משתמשת ניתן לבצע את השינוים של קידומות הטבלאות באמצעות כניסה אל phpMyAdmin או ממשק דומה. ניתן למצוא הוראות מפורטות שלב אחר שלב ב-WP Loop.
זכור – תמיד גבה את הקבצים ואת מסד הנתונים שלך לפני ביצוע שינויים כלשהם במסד הנתונים!
22. בדקו אם כותרות תגובת השרת מכילות מידע מפורט על גרסת PHP
אין זה חכם לחשוף את גרסת ה-PHP המדויקת בה אתם משתמשים מכיוון שהיא מקלה בהרבה על מלאכת התקיפה של האתר.
בעיה זו אינה קשורה ישירות לוורדפרס אך היא בהחלט משפיעה על האתר.
סביר להניח שתצטרך לבקש מחברת האחסון להגדיר את שרת ה-HTTP כך שלא יציג מידע על גרסת PHP, אך עם זאת תוכל גם לנסות להוסיף את ההנחיות הללו בעצמך לקובץ .htacces:
#start hide PHP version in header
<IfModule mod_headers.c>
Header unset X-Powered-By
Header unset Server
</IfModule>
#END hide PHP version in header
23. בדקו אם אפשרות ההרשמה של לאתר מכובת
אלא אם כן אתם מפעילים אתר מבוסס קהילה כלשהי, יש להשבית את האפשרות ההרשמה לאתר.
למרות שזה רק מספק לתוקף גישה מוגבלת ל-backend שלך, זה מספיק כדי להתחיל לנצל בעיות אבטחה אחרות.
זוהי בעיה קלה לפתרון.
פשוט יש לעבור אל קטגורית האפשרויות בפאנל הניהול ולאחר מכן לגשת אל כללי ולבטל את הסימון בתיבת הסימון "חברות כל אחד יכול להירשם".
24. שינוי נתיב ה- URL של WP-Login והגנה על נתיב WP-admin
עדיף להגן על התחברות אל ממשק המנהל כדי לשמור על הבלוג מניסיונות כניסה לא חוקיים.
אנו נעשה זאת ע"י הצבת הקוד הבא בקובץ functions אשר מתריע למערכת כי כל ניסיון כניסה אל הקובץ ישלח אל דף 404
add_action( 'init', 'alderity_blockusers_init' );
function alderity_blockusers_init() {
if ( is_admin() && ! current_user_can( 'administrator' ) &&
! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
wp_safe_redirect( $url );
wp_redirect('https://domain.com/404');
exit;}
}
כעת על מנת להתחבר אל פאנל הניהול של צד admin יש לגשת ולהתחבר באמצעות קובץ wp-login
על מנת להגן על דף ההתחברות (WP-Login), ולמנוע ניסיונות כניסה לא מורשים.
הכניסו את הקוד הבא בקובץ functions והחליפו את "?=secret" במילת מפתח חדשה אשר אתם בוחרים מראש.
// disable REST API WordPress users
function alderity_protection_for_login_page() {
$secret_path = '?=secret';
$request = 'https://' . $_SERVER['SERVER_NAME'] . '/' . 'wp-login.php' . '?'. $_SERVER['QUERY_STRING'];
if ( site_url('/wp-login.php').$secret_path == $request ) {
} else {
header( 'Location: https://' . $_SERVER['SERVER_NAME'] . '/404' );
}
}
add_action('login_head', 'alderity_protection_for_login_page');
בכדי לגשת אל קובץ ההתחברות אנו נצטרך להכניס בכתובת הURL שלנו את הנתיב הבא your-domain.com/wp-login.php?=secret.
יש להחליף את "your-domain.com – בכתובת האתר שלכם".
ואת מילת המפתח "?=secret" שבחרתם מראש כמובן
25. כיצד להשבית בקלות את USER REST API עבור JSON
הכניסו את הקוד הבא בקובץ functions על מנת לחסום גישה אל .
// Disable certain rest routes
add_filter( 'rest_endpoints', function( $endpoints ){
if ( isset( $endpoints['/wp/v2/users'] ) ) {
unset( $endpoints['/wp/v2/users'] );
}
if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
}
return $endpoints;
});
ביטלנו את ההגדרה של המערך (המייצג נקודת קצה עם שיטות בקשת HTTP ספציפיות) במסלול, כאשר שיטת הבקשה היא GET.
כך שרק נקודות הקצה GET /wp/v2/users ו-GET /wp/v2/users/ הוסרו והושבתו.
26. מנע משתמשי סרק
התנתק ממשתמשים במצב סרק לאחר תקופה של חוסר פעילות.
אתה יכול להשתמש בתוסף כמו Idle User Logout התנתקות לא פעילה כדי להפסיק באופן אוטומטי פעילויות באתר.
זה הכרחי מכיוון שאם אתה נכנס לאתר שלך כדי להוסיף פוסט חדש בבלוג ומוסח על ידי משימה אחרת, ניתן לחטוף את ההפעלה שלך והאקרים יכולים לעשות שימוש לרעה במצב כדי להדביק את האתר שלך.
חשוב לסיים פעולות אם יש מספר משתמשים באתר.
27. מנע קישורים חמים
קישור חם אינו מהווה הפרת אבטחה כשלעצמו אולם בהתחשב בכך שהוא מתייחס לאתר אחר.
המשתמש בכתובת האתר שלך כדי להצביע ישירות על תמונה או קובץ מדיה אחר, זה נחשב לגניבה.
קישור חם יכול להוביל לעלויות לא צפויות לא רק מכיוון שתצטרכו להתמודד עם השלכות משפטיות, אלא גם מכיוון שחשבון האירוח שלכם יכול לעבור את הגג אם האתר שגנב את התמונה שלכם זוכה לתנועה רבה.
הוסף את הקוד למטה לקובץ ה- htaccess שלך אם אתה משתמש בשרת Apache והחלף את תחום הדמה בשם הדומיין שלך בפועל:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]