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

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

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

הישארו מעודכנים

דאגו לשמור על מערכת הוורדפרס, התבניות והתוספים שהתקנתם מעודכנים.
הפופולריות של וורדפרס גורמת לכך שמשתלם להאקרים לחפש פרצות אבטחה במערכת וורדפרס עצמה (ה-core) ובתוספים הפופולריים.
טיפ: אני לא ממליץ לעדכן את וורדפרס מיד לאחר שחרור גרסא חדשה, בדרך כלל ישנו "גל" של תיקונים של תוספים שפעולתם השתבשה עקב חוסר תאימות.
בנוסף, לפני כל עדכון (של המערכת או של תוסף כלשהו) יש לבצע גיבוי מלא של האתר.

תוספי אבטחה

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

Wordfence Security

Wordfence הוא תוסף האבטחה שאני ממליץ עליו, מעל מיליון התקנות פעילות ולא בכדי. מדובר בתוסף מעולה שגם בגרסתו החינמית מספק מספר כלים מאוד חזקים לאבטחת אתרכם.
לתוסף מנגנון סריקה די מקיף שתפקידו להתריע לכם על נוזקות שנמצאות באתרכם, מנגנון הגנה מפני Brute-force, ניהול חסימות משתמשים ועוד כלים נפלאים.
* אני ממליץ לבצע גיבוי מלא של האתר לפני התקנת כל תוסף.

שם משתמש וסיסמא חזקים

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

מצטער לאכזב אבל…

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

http://www.example.com/?author=1

מה עם פתרון? בבקשה:
הוסיפו את הקוד הבא לקובץ ה-.htaccess שלכם והבעיה נפתרה:
*לא לשכוח לשנות לכתובת הדומיין שלכם.

<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* http://example.com/? [L,R=302]
</IfModule>

מחפשים פקודות .htaccess שימושיות נוספות? בקרו במאמר לגזור ולשמור: פקודות htaccess נפוצות

הגבלת גישה לתיקיית wp-admin

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

שינוי נתיב ההתחברות (wp-admin)

ניתן לשנות את הנתיב כך ש-wp-admin כבר לא ישמש להתחברות האתר.
ישנו תוסף די קליל בשם Protect Your Admin שעונה על צורך זה.
* אני ממליץ לבצע גיבוי מלא של האתר לפני התקנת כל תוסף.

חסימה לפי כתובת IP

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

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^xxx.xxx.xxx.xxx$
RewriteCond %{REMOTE_ADDR} !^xxx.xxx.xxx.xxx$
RewriteCond %{REMOTE_ADDR} !^xxx.xxx.xxx.xxx$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>

חסימה זו תחסום את הגישה אל תיקיית wp-admin ואל קובץ wp-login.php שנמצא בתיקייה הראשית.
החליפו את ה-xxx.xxx.xxx.xxx בכתובות IP שאתם סומכים עליהן.

*יש לשים לב שמדובר בכתובת IP קבועה ולא משתנה אחרת פיתרון אינו יעיל.

גישה לניהול באמצעות SSL בלבד

מותקנת לכם תעודכת SSL? מעולה.
יש באפשרותכם "להכריח" לגשת אל תיקיית wp-admin (ניהול האתר) רק באמצעות שימוש בפרוטקול https, המאובטח יותר מ-http.
כל מה שהנכם נדרשים על מנת לעשות זאת זה להוסיף את שורת הקוד הבאה לקובץ wp-config.php שבתיקייה הראשית שלכם:

define('FORCE_SSL_ADMIN', true);

מה שעשינו כאן בעצם זה להגדיר את ערכו של הקבוע FORCE_SSL_ADMIN כ-TRUE.

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

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

define('DISALLOW_FILE_EDIT', true);

מה שעשינו זה לתת ערך TRUE לקבוע DISALLOW_FILE_EDIT ובכך אמרנו ל-WordPress לא לאפשר עריכת קבצים על ידי מערכת הניהול.

חסימת גישה לקובץ wp-config

כפי שראינו, wp-config הוא קובץ שאחראי על הגדרות רגישות של מערכת הוורדפרס שלנו, הוא אפילו מכיל את פרטי ההתחברות למסד הנתונים.
על מנת לחסום את הגישה לקובץ זה יש להוסיף את קטע הקוד הבא לקובץ ה-htaccess. שבתארכם:

<Files wp-config.php>
order allow,deny
deny from all
</Files>

חסימת גישה לקובץ htaccess.

קובץ htaccess. אחראי על הגדרות שונות ברמת השרת (הפניות וכ'ו), נרצה לחסום גישה גם לקובץ זה, על מנת לעשות זאת, יש להוסיף את קטע הקוד הבא לקובץ ה-htaccess. שבתארכם:

<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

גבו את אתרכם

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

סיכום

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

בהצלחה!

נהנת ממאמר זה? הירשם לרשימת התפוצה וקבל עדכונים על מאמרים חדשים!


3 תגובות בנושא “טיפים לאבטחת אתר וורדפרס”

  1. תוכל לפרט מה ההרשאות שמריכות להיות לתיקיות השונות?
    אני מתקינה וורדפרס ומאחסנת אותו עצמיאית אבל כדי להתקין אני צריכה לשנות את plugins ל 775
    זה לא נראה לי תקין, אבל בלי שינוי ההרשאות זה זה לא נותן לי להתקין.
    יש פיתרון?

    1. היי,
      775 או 755? יש הבדל 🙂
      לפי מיטב הבנתי ולפי מה שכתוב כאן יש לתת הרשאת 755 לתיקיות ו644 לקבצים.
      אכן יש להיזהר עם הרשאות גבוהות מדי, בטח לתוספים.

כתיבת תגובה

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