- בלוג
- אבטחת אתרי וורדפרס
אבטחת אתרי וורדפרס
אבטחת אתרי וורדפרס
פורסם ב 17-10-2019
אבטחת אתרי וורדפרס ומערכות תוכן בפרט הוא נושא חשוב שצריך להוות גורם משמעותי בתחזוקה השוטפת של האתר ובפעילות התקינה שלו ברחבי האינטרנט.
במאמר זה נתייחס לאפשרויות העומדות בפני הלקוח (client) אשר ביישום שקול ונכון ישפרו בצורה משמעותית את אבטחת אתר הוורדפרס שלו.
רקע מקדים
וורדפרס הוקמה בשנת 2003 ונחשבת כיום למערכת ניהול התוכן (CMS) הפופולרית ביותר בשוק, נתונים עדכניים(W3Techs/Wappalyzer) מצביעים על העובדה ש-33% מכלל האתרים הקיימים ברשת האינטרנט בנויים על גבי פלטפורמה זו, 78% מכלל מערכות ניהול התוכן,ולא פחות מ -31% מתוך 100,000 האתרים הגדולים בעולם עושים שימוש כזה או אחר בוורדפרס.
בחירה נכונה של חברת אחסון עבור אבטחת אתר וורדפרס
לפני שנגלוש ונדבר גם על צד האבטחה האפליקטיבי, יש להדגיש ולציין את החשיבות שבבחירת חברת אחסון מקצועית הדוגלת בתקני אבטחה מחמירים.
חשוב להבהיר שאין זה משנה כמה מאמצים תרכזו באבטחת האתר, אם חברת האחסון אינה מאובטחת דיה, לתוקפים זדוניים יהיה קל יותר לפגום בביצועי השרת או אפילו לחדור אליו, וכיוצא מזה לפגוע לכם בתור לקוחות בהתנהלות התקינה של האתר או אפילו לגרום להשבתתו(DDos- מניעת שירות).
מעגלי אבטחה חשובים בצד השרת
- מעגל אבטחה ראשון – ANTI DDOS: ניטור התעבורה באמצעות מערכות Anti-DDOS ו-Firewall מתקדמות כדי לוודא שהתקשורת מגיע לשרתים באופן תקני (ברמת הפרוטוקל tcp/ip).
- מעגל אבטחה שני – WAF : סריקת התעבורה הנכנסת לשרת באמצעות Web Application Firewall, המערכת תנסה לזהות ע”פ “התנהגות הגולש” האם הפעולות שהוא מבצע באתר לגיטימיות, או שמדובר בנסיונות פריצה, היה והמערכת מזהה כי מדובר בניסיון פריצה, הפעולה תיחסם ותתקבל הודעת שגיאה לגולש.
- מעגל אבטחה שלישי – Online Exploit Scanner : כל קובץ שנכנס לשרת, דרך חשבון FTP או דרך טופס העלאת קבצים הנמצא באתר מסוים עובר סריקת אנטי וירוס על מנת לוודא שלא מדובר בסקריפט זדוני, היה והמערכת מצאה כי מדובר בוירוס – הקובץ נמחק מיידית, כתובת ה-IP של התוקף נחסמת ב-FW וכן, הודעה נשלחת אל צוות אבטחת המידע להמשך תחקור.
לאחר שבחרנו חברת אחסון מאובטחת, ניתן להמשיך ולהקשיח את אבטחת אתר הוורדפרס עם כמה צעדים פשוטים שנסקור כאן.
צעדים לשיפור אבטחת אתר הוורדפרס
- בחירת סיסמאות חזקות ושינוי שם המשתמש
למרות שנושא זה עולה כמעט בכל מאמר של סקירה/המלצה אבטחתית, עדיין קיימים משתמשים רבים שבוחרים להתעלם מחשיבות נושא זה. סיסמה חלשה(בייחוד בצירוף עם שם משתמש דיפולטיבי) היא הפתח הקל והנגיש ביותר של התוקף הזדוני לאתר שלכם, ולפחות לזמן הקרוב תמיד היא תמיד תישאר “החוליה החלשה” בכל הנוגע להתחברות מאובטחת.
האקרים רבים או אפילו אנשים בעלי ידע טכנולגי בסיסי עלולים לנסות את מזלם ולבצע מתקפה מסוג brute-force על האתר שלכם. במתקפה זו התוקף מנסה לחדור אל אזור הניהול של המערכת על ידי ניחוש של שם המשתמש והסיסמה בווריאציות שונות ומגוונת, הוא עושה זאת על ידי ניחוש מושכל(איסוף מידע בסיסי מקדים) או על ידי ניחוש אקראי של כלל הצירופים האפשריים.אז איך מקשים על התוקפים?
- בשלב הראשון רצוי ומומלץ לשנות את שם המשתמש, שם משתמש דיפולטיבי כמו admin או אפילו שמכם הפרטי מהווה כ-“מטרה נייחת” לתוקף הזדוני. ניתן להשתמש בשם של דמות אהובה או בפרט אישי כלשהו שאינו חשוף לציבור הרחב.
- בשלב השני יש לבחור סיסמה חזקה וקשה לניחוש, סיסמה חזקה כוללת:
- לפחות 16 תווים
- שילוב של אותיות גדולות וקטנות
- שילוב של מספרים ותווים מיוחדים ( למשל – %^*&)%$)
דוגמה לסיסמה חזקה תהיה – xb#@^6QB9jvN(zW
ניתן להיעזר באתר הבא בשביל ליצור סיסמה אונליין אשר עונה בהצלחה על כל הפרמטרים – https://passwordsgenerator.net.כמובן שאת הסיסמאות מומלץ להחליף לפחות פעם בחודש, ויותר מרצוי לא להשתמש באותה סיסמה של שירות אחר(לדומה של חשבון המייל).
- עדכונים שוטפים לכלל הרכיבים
וורדפרס היא מערכת מבוססת קוד פתוח (open source) ובעקבות כך זקוקה לתחזוקה שוטפת ועקבית.
נושא העדכונים מכיל בתוכו כמה רכיבים:- עדכוני ליבה
- עדכוני תוספים
- עדכוני תבניות
מלבד השיפור הניכר בביצועי האתר וביכולות האפליקטיביות שלו, עדכוני הרכיבים השונים הם פעולה קריטית בכל הנוגע לאבטחת האתר. ניתן לדמות את מערכת הוורדפרס לבית גדול השוכן בשטח עויין(רשת האינטרנט-WAN), את קבצי הליבה לדלת הראשית, ואת התוספים והתבניות לחלונות הפרושים ברחבי הבית, גרסת ליבה לא מעודכנת מקבילה לדלת רעועה או אפילו פתוחה לרווחה, ואילו תוספים/תבניות לא מעודכנים מהווים כסדק ניכר באחד מהחלונות.
חשבו כמה קל לגורם עויין לחדור לבית בשטח פתוח כאשר הדלת הראשית שלו פתוחה, אותו הדבר בדיוק מתרחש ברחבי האינטרנט, כאשר אחד הרכיבים לא מעודכן ההאקר הזדוני לא נדרש לחשוב ולהמציא את הגלגל מחדש הוא פשוט מנצל חולשה שכבר קיימת וחשופה לקהל הרחב, הוא לא נדרש בתחכום או ביצירתיות אלא בהבנה טכנית ממוצעת ונגישות למידע המתאים.
אז איך ניתן להבטיח שאנחנו מוגנים בצורה המקסימלית
- יש לבצע עדכונים שוטפים לכלל הרכיבים בצורה עקבית
- אין להוריד פלאגינים או תבניות ממקורות לא מהימנים – (עדיף להשתמש בתוספים/תבניות לאתר מהספרייה הרשמית)
- יש להסיר פלאגינים אשר לא נחוצים, מלבד העובדה שעומס של תוספים אף עלול ליצור התנגשויות ולשבש את הפעילות התקינה של האתר, קשה מאוד לעקוב ולעדכן בתכיפות מספר רב כל כך של גורמים.
- אבטחת אזור הניהול ותוספי אבטחה
- wordfence
התוסף הפופולרי ביותר שקיים בשוק, מכיל פיצ’רים רבים כגון : אימות דו שלבי, ניהול חומת אש והגנה על עמוד ההתחברות.
את התוסף תוכלו להוריד דרך הלינק הבא – https://he.wordpress.org/plugins/wordfence. - iThemes Security
נקרא בעבר – Better WP Security, הוא תוסף אבטחה מומלץ שמציע פיצ’רים בסיסיים בחינם ואף יכולות נוספות ברכישת גרסת ה – pro, בין הפיצ’רים ניתן למצוא : אימות דו-שלבי, שימוש ב-reCAPTCHA של גוגל לאימות אנושי, ואפילו פיצ’ר שיכול לזהות קבצים של האתר ששונו או נערכו לאחרונה.
את התוסף תוכלו להוריד דרך הלינק הבא – https://he.wordpress.org/plugins/better-wp-security. - הרשאות לקבצים(שרתי לינוקס)
נושא זה הוא אמנם מתקדם יותר אך עדיין חשוב להסביר ולעבור עליו בקצרה,
על גבי השרת שבחרתם מאוחסנים הקבצים והתיקיות של האתר שלכם.
מערכת לינוקס מחלקת את ההרשאות ל-3 סוגים:- בעלים (owner) – מייצג את בעל הקובץ וברוב המקרים גם את המשתמש שיצר אותו(לא מחייב).
- קבוצה (group) – מייצג את הקבוצה שאליה שייך הקובץ, נותן את האפשרות להעניק גישה לקובץ לכמה משתמשים.
- אחר (other) – מייצג את כל שאר המשתמשים שהם לא בעלי הקובץ או חלק מהקבוצה שיש לה גישה לקובץ.
ההרשאות בלינוקס מיוצגות על ידי מספרים. למרות שחברת האחסון היא האחראית העיקרית על נושא ההרשאות בתוך השרת מומלץ תמיד לוודא שהרשאות המומלצות על ידי וורדפרס אכן מייושמות בשרת ובקבצי האתר שלכם.
על פי ההמלצה הרשמית יש להגדיר:-הרשאות של 644 לקבצים
-הרשאות של 755 לתיקיותמה המשמעות של המספרים?
הספרה 1 מייצגת אפשרות של הרצה – Execute
הספרה 2 מייצגת אפשרות של כתיבה – Write
הספרה 4 מייצגת אפשרות של קריאה – Readכך שהרשאות של 644 לקבצים יאפשרו לבעל הקובץ לקרוא ולכתוב(6=4+2)
למשתמשים החברים בקבוצה שאליה שייך הקובץ תינתן האפשרות רק לקרוא(4)
ולכל השאר גם כן תתאפשר רק האופציה של קריאת הקבצים(4)איך נראים קבצי הוורדפרס וההרשאות שלהם על השרת?
בתמונה הנ”ל ניתן לראות את כל קבצי הוורדפרס החיוניים שנמצאים על השרת(בדיוק כמו באתר שלכם), כמו שניתן לראות הקבצים נמצאים בתיקייה – public_html.
בהמשך להסבר על חלוקת ההרשאות, ניתן להבחין שהקובץ – index.html בדיוק כמו שאר הקבצים(התיקיות מסומנות בצבע כחול) קיבל הרשאה של 644 שמהווה את ההרשאה הנכונה.הספרה 6 מיוצגת על ידי האותיות rw משמאל לימין, זאת אומרת read+write שמכוונת לבעל הקובץ,
הספרה 4 מיוצגת על ידי האות r שבאה בדיוק לאחר מכן שכוונתה היא read ומכוונת לקבוצה שאליה שייך הקובץ
הספרה 4 האחרונה מיוצגת בדיוק באותה צורה עם האות r האחרונה המופיעה בשורה, והיא מכוונת לכל שאר המשתמשים שהם לא בעלי הקובץ או נמצאים בקבוצה שאליה הוא שייך.הענקת הרשאות לא נכונות לקבצים או לתיקיות מהוות פרצת אבטחה חמורה, שכן הדבר עלול לאפשר לגורמים זדוניים לבצע פעולות לא רצויות או לחילופין, לאסוף מידע שאינו אמור להיות חשוף לכל.
- חשיבותה של תעודת SSL באתר
תעודת SSL היא בהגדרתה תעודת שרתי אינטרנט דיגיטליים אשר מונפקת על ידי רשות מוסמכת לכך (CA) ותפקידה לוודא את זהות שרת האינטרנט והמפתח הציבורי שלו. בלי להכנס לפרטים טכניים מורכבים מדי, התעודה מאפשרת לדפדפן של הלקוח לתקשר בצורה מאובטחת(https) עם צד השרת. אמנם תקשורת מוצפנת היא נושא רגיש וחשוב בכל אתר, אך בתור מערכת ניהול תוכן פופולרית אשר הרבה ממשתמשיה עושים בה שימוש עסקי(woocommerce) הצפנת המידע בוורדפרס היא פעולה נחוצה ויש לומר אף הכרחית.
העדר תעודת SSL מחייבת את הלקוח לגלוש אל האתר שלכם בצורה לא מאובטחת(http) פעולה זו היא הבסיס למתקפת – “האיש שבאמצע” שבה תוקף זדוני מנצל פגיעות ברשת הפנימית שבה הוא נמצא, לרוב ברשתות ציבוריות, ובעצם “מסניף” את המידע שהלקוח התכוון להעביר לשרת(לאתר שלכם), יש לציין שבגלל שהתקשורת מתבצעת בצורה לא מאובטחת התוקף יכול לראות את המידע הרגיש בצורה גלויה(plain text) ואילו הקורבן אפילו לא יהיה מודע לכך, שכן התקשורת ברשת תמשיך לזרום בצורה הנראית לעין כתקינה, אך למעשה תעבור כל העת דרך “מתווך צד שלישי” – התוקף.
האם ניתן להיעזר בחברת האחסון?
כמובן, רוב חברות האחסון מספקות תעודת SSL חינמית בזמן הרכישה, כמובן שניתן לרכוש גם תעודה חיצונית ולבקש מהחברה להטמיע אותה, לאחר התקנת התעודה תוכלו לציין שאתם מעוניינים בביצוע פנייה אוטומטית של האתר לפרוטוקול מאובטח – HTTPS, כך תבטיחו את אבטחת המידע העובר ברשת של הגולשים לאתר שלכם.
איך ניתן לראות לוודא שהאתר מאובטח?
כמו שניתן לראות בתמונה,באתר המשתמש בפרוטוקול מאובטח נוכל למצוא את המנעול הקטן משמאל לשם הדומיין שלנו, לחיצה עליו תפתח חלונית קטנה אשר תתריע האם האתר מאובטח או מאובטח חלקית, לחיצה על האופציה של – “Certificate” תציג את פרטי התעודה המותקנת, בין הפרטים נוכל למצוא את מנפיק התעודה, תאריך הנפקתה וכמובן את מועד התפוגה שלה.
אל אזור הניהול ניתן להגיע על ידי הוספת /wp-admin בסוף שורת הכתובות(URL) מיד לאחר שם הדומיין שלכם.
מצב דיפולטיבי זה מקל על תוקפים שכן נתיב הכניסה ידוע לכל דורש, מסיבה זאת מומלץ להשתמש בתוסף אבטחה אשר משנה את נתיב הכניסה אל אזור הניהול, כמו כן חשוב להגביל את מספר ניסיונות ההתחברות המאופשרות לכתובת ip לפני שהיא מזוהה כזדונית ונחסמת.
איך ניתן להגן על אזור הניהול בצד השרת?
מלבד מערך האבטחה הכולל בצד השרת, ניתן לבקש מחברת האחסון לחסום את הגישה אל כתובות ip אשר לא מגיעות מישראל, או אפילו לבקש מחברת האחסון שתאפשר את הגישה אל אזור הניהול אך ורק לכתובת ה -ip אשר ציינתם מראש (כמובן שכדאי שזאת תהיה כתובת ip קבועה).
איך ניתן להגן על אזור הניהול בצד הלקוח?
קיימים תוספי אבטחה רבים ומגוונים אשר נותנים מענה הולם לאיומי הסייבר השונים שיש ברשת.
תוספים אלה יכולים לשמש כשכבת הגנה נוספת ומשלימה למערך האבטחה הכולל.
להלן 2 מהמומלצים שבהם:
כמובן שקיימים עוד טיפים רבים אשר יכולים לסייע באבטחת האתר, וסקירה זאת הייתה רק “על קצה המזלג”, אך בישום נכון של השלבים אשר צויינו במאמר זה, ניתן למזער בצורה משמעותית את נסיונותיהם של גורמים זדוניים לפגום בפעילות התקינה של האתר שלכם, ולהבטיח אבטחה טובה יותר בצורה ניכרת, גם לכם וגם ללקוחותיכם.