מאבטחים את וורדפרס למתחילים ומתקדמים 2013

מאבטחים את וורדפרס 2013

ברוכים הבאים מנהלי אתרים

טוב… אוגוסט מביא איתו טמפרטורות לים וגם מעלה את החום בקרב מנהלי אתרים אשר נותרו ללא ברירה עם הצורך להתמודד עם גל פריצות רבתי מבית האקרים טורקים ופלסטינים שחושבים שהם עושים חסד למטרתם ובתכלס עושים לנו עבודה מיותרת שאפשר להימנע ממנה עם השקעה של כמה שעות והידע הנכון (בתקווה כי חוץ מהמוות ומיסים הכל יכול להשתנות!)

האם המדריך הזה מתאים לי?

המדריך הבא יציע מגוון צעדים לאבטח את אתר הוורדפרס שלכם ויכלול עצות, טיפים ושיטות מתקדמות למנהלי אתר מיומנים אבל גם מגוון עצות טיפים ושיטות לאבטח אתר וורדפרס למתחילים בינינו אשר מנהלים את האתר שלהם כתחביב בשעות הפנאי. בקיצור – כן, המדריך הבא מתאים גם לך!

עשו שינויים בחכמה!

כל תבנית והסיפור שלה… חלק מהשינויים (בעיקר במדור 7 סניפטים שמשפיעים בגדול) עשויים להשפיע על התפקוד של התבנית והאתר שלכם ולכן בחנו כל שינוי לאחר שעשיתם וודאו כי הכל פועל כשורה.

רשימת נושאים וניווט מהיר

* לחצו על כל נושא כדי לפתוח את הטאב

  1. 5 נקודות שהייתם צריכים להכיר אתמול
  2. 5 נקודות שמתחילות לדרוש ריכוז
  3. 7 סניפטים קצרים שמשפיעים בגדול
  4. סוגי התקפות וניסיונות פריצה נפוצים
  5. תוספים לשיפור האבטחה באתר שלכם
  6. רוצים לדעת עוד על אבטחת אתר WP?

5 נקודות שהייתם צריכים להכיר אתמול +
1

שמרו על הוורדפרס שלכם מעודכן?!

מה קשה להבין? למה כל פעם מתקשרים אלינו בעלי אתרים אבודים עם אתר פרוץ אשר לא עודכן כבר למעלה משנתיים?!

2

קודם סרקו את המחשב שלכם נגד וירוסים.

אל תחשבו שזה קורה רק בסרטים. פעמים רבות יש לכם במחשב סוס טרויאני אשר שולח את המשתמש והססמה שלכם למגוון אתרים ישירות אל ההאקר עם עטיפה וסרט. בצעו בדיקת Malewares ואנטי וירוס לפני שאתם ניגשים לתיקון אתר פרוץ והקפידו על מחשב בטוח ומוגן.

3

עדכנו את כל התוספים שלכם על בסיס קבוע

עדכנתם את וורדפרס? יופי… הגיע הזמן לעדכן גם התוספים שלכם. העדכונים הם פעמים רבות עדכוני אבטחה והתאמה לגרסת הוורדפרס החדשה שלכם. בנוסף חשוב להוריד תוספים רק (למעט אם במקרה בו אתם מכירים את המקור) ממאגר התוספים הרשמי של וורדפרס.

4

שם משתמש מושקע וססמה טובה!

ממש אתמול התחלנו לבנות אתר עבור לקוח שפרצו לו לאתר ג'ומלה. שם המשתמש שלו היה admin והססמה הייתה כתובת האתר… אין צורך לציין כי לא צריך להיות גאון כדי לפרוץ לאתר כזה. אל תוותרו, השקיעו בשם משתמש מושקע (אז תקלידו עוד אות – ביג דיל?) וססמה שהיא ייחודית לאתר שלכם ולא קשורה לשם של האתר אלא מקורית לחלוטין.

מחקר של Imperva

חשבתם שאתם היחידים שמשתמשים באותה ססמה מפורסמת "123456"? תחשבו שנית! במחקר שנעשה באתר RockYou.com התגלה הנתון הבא.

דירוג ססמה כמות משתמשים
1 123456 290731
2 12345 79078
3 123456789 76790
4 Password 61958
5 iloveyou 51622
6 princess 35231
7 rockyou 22588
8 1234567 21726
9 12345678 20553
10 abc123 17542

מסקנות?

במיוחד הודות לעובדה שמדובר על פורום (בו בוצעה הבדיקה) וגם הודות לעובדה שמרבית המשתמשים לא משנים את שם המשתמש שלהם וכך מפרסמים הודעות בפורום – מרבית הסיכויים שהקאר יצליח באחוז גבוה לפרוץ לחשבון באותו אתר.

המלצות לגבי ססמה

נסו לקחת משפט והפכו אותו לססמה… לדוגמה "i was born in eilat" יכול להפוך ל "iWASbie" כעת אפשר לשלב את זה עם שם האתר כדי ליצור ססמה דינמית לכל אתר…

לדוגמה אם נניח שכתובת האתר היא www.example.com והססמה הקבועה שלי היא "iWASbie" אני יכול לשלב ביניהם כך iWASbie5Ex. המספר 5 מייצג את אורך הדומיין ושני אותיות אחרונות הן שני אותיות ראשונות בדומיין עצמו.

רוצים לבקר במחקר? בקרו כאן: Consumer Password Worst Practices

5

בחרו באחסון טוב ואיכותי

אם 10 שקל באמת באמת משנה לכם במחיר האחסון לאורך שנה אז בסדר. אבל אם אתם לא בקטגוריה הזאת אל תחשבו רק עם הכיס… המחיר עשוי לעלות קצת יותר כיוון שאותה חברה לא דוחסת אתרים על שרת אחד וכך מציעה לכם אחסון מהיר ומאובטח.

זה עשוי להישמע כמו פרמטר לא חשוב אבל אין לכם מושג עד כמה זה חשוב לבחור בחברת אחסון מקצועית שיש לה תמיכה רצינית ושרת מהיר ומאובטח.

5 נקודות שמתחילות לדרוש ריכוז +

1

הקפידו על גיבויים בצורה שוטפת!

אני בכוונה פותח עם נקודה שאיננה טכנית בכלל והיא נטו עניין של עצלנות אל מול מחשבה לעתיד. הורידו והתקינו תוסף (יש המון) שיעזור לכם לתזמן גיבויים… זה הצעד הראשון בניהול אתר חכם.

2

הוסיפו מפתחות אבטחה לwp-config

וורדפרס הוסיפו כבר לפני 50 גרסאות (פלוס מינוס) את האפשרות לשלב מפתחות אבטחה בעוגיות שהיא מספקת לחברים באתר.

את סט המפתחות (קוד שכולל ססמאות ייחודיות) ניתן לייצר באתר וורדפרס העולמי בקישור הבא. לחצו על רענן מספר פעמים כדי לקבל צמד מפתחות רנדומלי והטמיעו אותו בקובץ wp-config.

הקוד אמור להראות כך:

					define('AUTH_KEY',         '-+^=X7YknD7YWX~H205lj%j_xmuI5 :6kVH|zBGg4ux .4?F[nN;$D1ySg0nVj++');
					define('SECURE_AUTH_KEY',  '>Sf$FY|n2Vi~It$x@T]1AzHs&($;*MCV#sA+A+01F0~|>3r.(d65$mhZX8Z52e.h');
					define('LOGGED_IN_KEY',    'Z5FfaE!h|+MVDEkyE/gkwa:|6Ns_C&!wFK+&?`@]ykD+9h}@ABV.`|)N<]OyBAPI');
					define('NONCE_KEY',        '_H2{=B;}&=AVr;JIJQq|=jrj5$E5=&`~a*0qRael@*W}jtw<;|cd |9;{{a7>>hF');
					define('AUTH_SALT',        'HWrs7RPSwqWQvH*5a-P+_0*X-cFY==0+y}lf@/@rW@F&bNZJu:4_|&!< Y6Y 40;');
					define('SECURE_AUTH_SALT', 'qV|AGM[jY[[|(t(raJ^ml|:}#WEAr:.rVo`}VI3HY~>g|^W <Gf)yw$lj[Eq!*:}');
					define('LOGGED_IN_SALT',   '0:J.V`M{7)OnB-E0}+k+.-u^(a!|HYvLwQ$A<@DumdMHMuH+Ta&v-`;Pp+.[_L+:');
					define('NONCE_SALT',       'HD8z6[#[|ej+(nmn8+HNcE ioZVHY4WD--g:@0YFx$Emt]g4$oM$tKW~b@|sb}8,');
					

אם יש לכם כבר סט מפתחות כזה בקובץ wp-config ואתם מתמודדים עם אתר לאחר פריצה זה רעיון טוב להחליף אותם כיוון שכך אתם מנתקים משתמשים מחוברים – מה שנקרא מתחילים נקי!

3

הימנעו מwp_ בתור קידומת מסד נתונים

לכל הערכים במסד הנתונים שלכם מתלווה קידומת כלשהי אותה הגדרתם (או מי שבנה לכם את האתר) בתהליך ההתקנה הראשוני של וורדפרס.

קידומת WP במסד הנתונים

ברירת המחדל של וורדפרס היא wp_ ולכן זה רעיון גרוע להשאיר את קידומת זאת כמו שהיא. לרוב ולמעט במקרה בו אתם מספיק מיומנים לשנות את מסד הנתונים שלכם מדובר על צעד מונע שעושים בעת התקנת וורדפרס לראשונה.

למרות זאת יש תוספים אשר עוזרים לעשות את זה וביניהם WP Security Scan (ראו לשונית תוספי אבטחה מומלצים)

4

העלו את wp-config.php תיקייה מעלה

אחת הדרכים להגן על הקובץ שמכיל את כל המידע על מסד הנתונים שלכם ופעמים רבות פרטי ההתחברות שלכם לFTP הוא הקובץ wp-config. מכיוון שוורדפרס היא מערכת ידועה כולם יודעים היכן יושב הקובץ wp-config.

מתכנתי וורדפרס אשר הבינו רעיון זה מאפשרים להעלות את wp-config תיקייה אחת מעלה אל תיקייה לה לגולש חיצוני אין גישה בכלל!

העלו את wp-config תיקייה מעלה

צירפתי תמונה כיוון שלא לכולם אחסון תואם אבל אם אתם יכולים זה בהחלט צעד אשר מגן על קבצי האתר שלכם מפני פורצים.

5

קבעו הרשאות נכונות לקבצים שלכם!

לקבוע הגדרות נכונות לקבציי וורדפרס הוא צעד שעשוי להיות מסובך לכל אחד מאיתנו וגם למומחים בוורדפרס אך זה צעד הכרחי שעשוי להגן על האתר שלנו מפני סוגי פריצות רבות.

מכיוון שבעבר כבר כתבנו מאמר אשר עוסק בנושא "איך למנוע פריצה לאתר וורדפרס" (למעשה זה רק חידוש והרחבה בנושא זה) לא אלאה אתכם – במקום זה בקרו במאמר המקורי כדי ללמוד עוד על הרשאות קבצים בוורדפרס.

למידע נוסף: איך למנוע פריצה לאתר וורדפרס

7 סניפטים קצרים שמשפיעים בגדול +

1

החביאו את גרסת הוורדפרס שלכם

אחד מפיסות המידע שהמון אתרים מנדבים להאקרים הוא גרסת ההתקנה של אתר הוורדפרס שלכם. זה אולי נשמע לא חשוב אבל עם כל שחרור של גרסה חדשה מבית וורדפרס יוצא גם רשימת תיקונים מה שמקל מאוד על האקרים למצוא נקודת חולשה.

איך מסתירים את הגרסה שלכם?

  • פתחו את הקובץ functions.php
  • הוסיפו בו את הקוד הבא
					// HIDE WP VER (in feeds two)
					function complete_version_removal() {
						return '';
					}
					add_filter('the_generator', 'complete_version_removal');
					

2

בקשו מגוגל שלא לנדב מידע בשמכם

הספיידר של גוגל מלא בכוונות טובות אבל הוא רובוט ולכן לא תמיד עושה חושבים לבד. הסניפט הבא יעזור לכם להגיד לספיידר של גוגל שלא לסרוק תיקיות רגישות וכך לא לחשוף מידע רגיש.

איך מונעים סריקה של כתובות רגישות?

  • פתחו את הקובץ robots.txt
  • הוסיפו בו את הקוד הבא
					User-agent: *
					 
					Disallow: /trackback/
					Disallow: /wp-admin/
					Disallow: /wp-content/
					Disallow: /wp-includes/
					Disallow: /xmlrpc.php
					Disallow: /wp-
					

3

יש לכם SSL? השתמשו בו!

הסניפט הבא הוא שדרוג בטיחות משמעותי אבל לא מתאים לכולם. אם יש לכם / לאחסון שלכם SSL ואפילו Shared SSL (שאלו את החברה שמאחסנת אתכם) אתם יכולים לחייב את וורדפרס לעשות בו שימוש. איך? עקבו אחר ההוראות…

איך מתחברים בצורה מאובטחת עם SSL

  • פתחו את הקובץ wp-config.php
  • הוסיפו בו את הקוד הבא
					// משפיע רק על דף ההתחברות
					 define('FORCE_SSL_LOGIN', true);
					// תקף לכל ממשק הניהול
					define('FORCE_SSL_ADMIN', true);
					

* שימו לב שאולי תצטרכו רק לשנות את ההגדרות לTrue ולא להדביק את הקוד המלא.

4

כבו את Trace & Track

התקפת HTTP Trace Attack היא התקפה בה התוקף מנסה להשיג בקשות Header כדי לקלוט מידע מקוקיז (Cookies) ומידע נוסף ועושים בה שימוש במקביל להתקפת XSS.

אתם יכולים לחסום אפשרות זאת בעזרת בשרת עצמו או על ידי הוספת הסניפט הבא לקובץ ה-htaccess שלכם.

חוסמים פרצת אבטחה

  • פתחו את הקובץ .htaccess
  • הוסיפו בו את הקוד הבא
					RewriteEngine On
					RewriteCond %{REQUEST_METHOD} ^TRACE
					RewriteRule .* - [F]
					

5

עזרו למגן את האתר נגד הזרקת XSS

הסניפט הבא עוזר לחסום התקפות / הזרקת מידע בעזרת XSS אשר יעודן לשנות הגדרות שונות שאנו שולחים לשרת שלנו על ידי שינוי הגדרות _REQUEST. יש לוודא כי הפונקציונליות של האתר לא נפגעת אך יחסית קוד בטוח שנבדק בהמון אתרים.

מיגון נגד XSS

  • פתחו את הקובץ .htaccess
  • הוסיפו בו את הקוד הבא
					Options +FollowSymLinks
					RewriteEngine On
					RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
					RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
					RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
					RewriteRule ^(.*)$ index.php [F,L]
					

6

חוסמים גישה לקובץ wp-config.php

הסניפט הבא אותו יש להטמיע בקובץ .htaccess עושה פעולה פשוטה מאוד והיא למנוע גישה אל הקובץ wp-config לכולם! בצורה כזאת יש לנו קובץ מוגן וזה מעולה כי מדובר בקובץ שמכיל את הגישה למסד הנתונים שלנו.

מגנים על wp-config

  • פתחו את הקובץ .htaccess
  • הוסיפו בו את הקוד הבא
					<files wp-config.php>
					order allow,deny
					deny from all
					</files>
					

7

מגנים על המגון .htaccess

העמסנו המון אחריות על קובץ אחד ואמיץ בשם .htacess אבל חשוב שלא להזניח אותו ולכן אני מוסיף את הסניפט הבא שיעזור למנוע גישה ישירה לקובץ .htaccess וכך יעזור לנו לשמור עליו מוגן ובטוח.

מגנים על .htaccess

  • פתחו את הקובץ .htaccess
  • הוסיפו בו את הקוד הבא
					<files ~ "^.*\.([Hh][Tt][Aa])">
					order allow,deny
					deny from all
					</files>
					

סוגי התקפות וניסיונות פריצה נפוצים +

כמעט בכל פעם שיצאתי ללמוד איך לאבטח את האתר שלנו או אתר של לקוח התבאסתי שאין מידע של ממש על סוגי המתקפות השונות. למרות שאינני מומחה אבטחה אני רוצה לדעת וללמוד… אז הנה, מספר התקפות נפוצות

התקפת RFI

התקפת RFI היא התקפה בה נעשה שימוש בשדות קלט לא מוגנים בהם המשתמש יכול לרוב לשלוח מידע או לשנות הגדרות כדי להזריק קובץ או להפעיל סקריפט על השרת שלכם. כדי להבין קצת יותר במה מדובר חשוב להבין שקיימים המון סקריפטים בהם משתמשים בקוד מסוג $_POST או $_GET כדי לשמור / להתמודד כל קלט של הגולש. אם לא מסננים את הערך משדות אלו בצורה חכמה אתם חשופים להתקפות RFI.

מידע נוסף על התקפת RFI

התקפת LFI

התקפה זאת עושה שימוש במבנה שגוי של אתר בו בונה האתר בודק איזה דף לכלול בעזרת משתנה GET לרוב על פי כתובת הURL בעזרת משתנה לדוגמה http://example.com/index.php?file=contactus.php. כעת כל שהאקר צריך לעשות כדי להעלות קובץ מהמחשב שלו אל השרת שלנו הוא להחליף את השם של הקובץ במסלול יחסי. בנוסף הוא יכול לשנות את המחרוזת כדי לבקש מהשרת שלנו מידע והשרת יחזיר אותו כיוון שהמחרוזת היא מקבצי האתר כלומר ממשתמש מורשה (נכון לגבי מערכות מסוימות).

מידע נוסף על התקפת LFI

הזרקת SQL

למרות שמגיע לשיטה זאת הרבה יותר מפסקה או 2 אנסה לסכם ולגעת בשיטה זאת בצורה שטחית. הזרקת SQL היא שיטה פופולרית בקרב האקרים אשר משתמשים בה כדי להכניס קוד ישירות למסד הנתונים שלכם. קיימות מספר חולשות אשר עשויות לחשוף את האתר שלכם להזרקת SQL.

הראשונה והנפוצה היא שדות קלט אשר לא עוברים סינון מתאים טרם מתבצע עם המידע שבהם פעולות. בשיטה זאת יוסיף ההאקר מחרוזת SQL כדי להאריך ולשנות את כוונה המחרוזת המקורית. קיימות עוד שיטות בשילוב טכניקות שונות להשיג מידע ולהחדיר קוד אל האתר שלכם. הוספתי כאן קישורים למידע רלוונטי.

מידע נוסף על הזרקת SQL

התקפת XSS

XSS היא אחת ההתקפות הנפוצות ביותר כיום ולכן חשוב להכיר אותה. כעיקרון מדובר על התקפה בו משתמש שולח קוד זדוני כדי לאסוף מידע כלשהו על האתר. אתרים רבים משתמשים כיום באינספור סקריפטים ותוספים כדי לשדרג את המראה והיכולות של האתר ולרוב בהם טמונה הסכנה.

למעשה כל טופס אשר שולח מידע למסד הנתונים חשוף בהעדר הגנה מתאימה אבל לא רק… גם מנוע חיפוש פנימי אשר לא עושה שימוש בסינון מחרוזות החיפוש עלול להווות פרצה למתקפת XSS

מידע נוסף על התקפת XSS

תוספים לשיפור האבטחה באתר שלכם +

שלט

Better WP Security

תוסף מעולה, נפוץ בשימוש (כמעט מיליון משתמשים) שכל תפקידו לשפר את את רמת הבטיחות של האתר.

זהירות

WP Exploit Scanner

תוסף מעולה אשר סורק את קבצי האתר שלכם ובודק אילו בעיות אבטחה קיימות בו שאתם יכולים לתקן.

מחשב

Error Log Monitor

תוסף המוסיף וידגט ללוח הבקרה עם תיעוד שגיאות באתר שלכם (אפילו יכול לשלוח לכם דוח).

שרביט קסמים

Wordfence Security

סורק עשיר שעוזר למצוא בעיות אבטחה באתר שלכם, לחסום ניסיונות פריצה ולהודיע על שינויי קבצים.

מנעול פתוח

Limit Login Attempts

תוסף שאני מתקין בכל אתר ועוצר מתקפות Brute Force על ידי חסימת IP לאחר התחברויות שגויות.

זום

Exploit Scanner

תוסף שעוזר לסרוק חולשות ובעיות מבנה בהתקנת הוורדפרס שלכם בכלל. מחפש באתר ובמסד נתונים.

שימו לב: חלק מהתוספים האלו לא חייבים להישאר מותקנים. סורקי בעיות באבטחה ניתן להתקין, ללמוד מה הבעיות, לתקן אותן ולהסיר את התוסף! כל התהליך צריך לקחת כמה שעות ולא יותר מזה ובין רגע שדרגתם את אבטחת האתר שלכם בעשרות מונים. קחו רגע להשקיע באבטחת האתר שלכם – זה מומלץ בחום.

רוצים לדעת עוד? הנה מאמרים נבחרים על אבטחת אתר וורדפרס +

יש לכם טיפים משלכם?

אני יודע שיש לנו בארץ המון המון מתכנתים ומומחי וורדפרס מוכשרים. אם יש לכם טיפ מועיל אשמח אם תוסיפו אותו או תשלחו לנו אותו ונוסיף אותו למאמר. כמו תמיד השארנו את האפשרות להגיב פתוחה ואתם מוזמנים לדבר איתנו על שיפור האבטחה של אתר הוורדפרס שלכם (או שלנו) ולמגן אותו כנגד פורצים אז אל תהיו ביישנים… בברכה, שגיב SEO.