הקשיחו את אבטחת הבלוג שלכם

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

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

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

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

שלב שני – בדיקה
עכשיו כשיש לנו את רשימת האתרים, צריך לראות מה אפשר לעשות איתם. מלבד הבדיקות הרגילות כגון בדיקות PR, זמן החיים של הדומיין ודומיהם, מציצה התוכנה אל מתחת למכסה המנוע – אל הקוד עצמו ומחפשת חתימות שהיא יודעת לזהות ומאפשרות "פריווילגיות מובחרות".
כך למשל, מופיעה בקוד התגית generator שמכילה את מספר הגירסה של וורדפרס. אם הגירסה שלכם אינה מעודכנת יופיע שם מספר הקטן מ 3.2.1. מלבד ההתקדמות הרגילה בגירסאות של וורדפרס (וזה ה 3.2) יש גם עדכוני "תיקונים" (זה ה 1 שבסוף). העידכונים הללו מכילים בד"כ תיקונים לפרצות אבטחה. זה אומר, שאם אינכם בגירסה האחרונה, קרוב לוודאי שיש לתוכנה הסורקת ידע על פירצות האבטחה של האתר שלכם והיא תוכל לנצל אותה לשימושה.

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

אז מה עושים

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

מפתחות אבטחה של וורדפרס
בקובץ ה wp-config ישנם 8 מפתחות יחודיים המשמשים את וורדפרס לזיהוי ואימות הנתונים. רוב הזמן, אין כל צורך להחליף אותם שהרי הסיכוי שמישהו ינחש אותם (מבלי לקבל גישה אל הקובץ) הוא אפסי. אבל לפעמים, מתעורר החשד שיש מישהו שמציץ לכם למערכת.
אם לצורך הדוגמא התחברתם ממחשב ציבורי (ספריה, אינטרנט קפה וכ') ושכחתם לבצע התנתקות מהמערכת משתמש אחר יכול להיכנס לחשבונכם ולחטט בפנים. החלפה של המפתח LOGGED_IN_KEY למשל תפיל את עוגיית האימות שלו והוא לא יוכל להיכנס.

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

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

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

הרשאות
וורדפרס מצוידת בעורך קוד המאפשר לעדכן את הקוד של התוספים והערכות שלכם. זה כמובן מצריך שלוורדפרס תהינה הרשאות כתיבה לקבצים. אם אתם מסוג האנשים שמעדכנים קוד דרך העורך הזה, הרי שאתם זקוקים לזה. אם אתם משתמשים ב ftp או ssh או לחילופין זהו אתר שבניתם עבור לקוח – אין שום סיבה שתהיה לוורדפרס הרשאות שכתוב לקבצים. ההרשאה של קבצים צריכה להיות 644. בכל מקרה, אם אתם מעוניינים לערוך את הקבצים דרך עורך הקוד, הקפידו על הרשאה 666 ולא 777. כנ"ל לגבי תיקיות – תיקיות צריכות להיות עם הרשאה 755.
הפירוש של 777 – כל משתמש שיש לו גישה לשרת יכול לשנות את הקובץ, כאשר השרת לא מקונפג נכון (כפי שכבר ראיתי בלא מעט מקרים) פורץ אקראי שמשיג גישה אל תיקיה כלשהי בשרת, אפילו של משתמש אחר, יכול לגשת אל הקבצים שלכם ולשנותם.

הסרת חותמות
כאמור, וורדפרס מוסיפה חותמת בשם generator המכילה את מספר הגירסה. זה לא משהו שמופיע בערכה עצמה אלא מתווסף אל הקוד באמצעות הפונקציה wp_head. חותמות נוספות שכדאי להסיר הן קישור ה RSD וה wlwmanifest. אפשר לעשות זאת בקלות על ידי הוספה של השורות הבאות אל קובץ functions.php של ערכת העיצוב. (אם אין לערכה קובץ כזה, אפשר ליצור אותו לבד בעזרת עורך טקסט)

remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );

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

כל שיש לעשות זה ליצור קובץ .htaccess חדש (הנקודה בתחילת השם ולא בסופו) ולהכניס לתוכו את השורות הבאות:

order deny,allow
deny from all
allow from XX.XX.XXX.XXX
allow from XX.XX.XXX.XXX

את XX.XX.XXX.XX יש להחליף כמובן בכתובת ה ip שלכם ואת הקובץ יש לשמור בתיקיית wp-admin. אומנם, לרוב המשתמשים הביתיים כתובת ה IP אינה כתובת קבועה אבל היות והאינטרנט מחובר בד"כ ללא הפסקה הרי שכתובת ה IP שלכם איתכם למשך הרבה זמן. אם לא אכפת לכם לעדכן פעם בזמן מה את הקובץ הרי שגם אתם יכולים להשתמש בתרגיל הזה. כמובן שזה לא כלי שימושי לאלו מאיתנו שמעדכנים מהדרכים, ממחשבים מזדמנים וכדומה.

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

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

גיבויים
גבו את מסד הנתונים שלכם לפחות פעם בשבוע או על בסיס תדירות העדכונים (אין צורך בגיבוי שבועי עבור אתר המתעדכן פעם בשנה). אם ספק האיכסון שלכם תומך ב cron אתם יכולים להשתמש במדריך או להשתמש בתוסף יעודי. כמובן שרצוי לגבות גם את תיקיית wp-content.

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

רעיונות וטיפים נוספים יתקבלו בברכה.

לדרג את הפוסט
5

Comments

5 תגובות על “הקשיחו את אבטחת הבלוג שלכם”

  1. ניצן היקר.
    תודה על המאמר המעולה, בהיר ויעיל מאד, אפנה אליו בעתיד מהאתר שלי…
    כל טוב.
    שרון

  2. […] שהסברתי בפוסט הקודם, ישנן הרבה דרכים לפרוץ לאתרים. המקצועיות שבהן תלויות בחורי אבטחה – בין אם בוורדפרס […]

  3. אחלה מאמר!

  4. תמונת פרופיל של ניר
    ניר

    מאמר מצוין, פשוט לקחת וליישם.
    אגב, אם אני רוצה לשנות הרשאות ל-755 בעיקר של ה-admin, איפה אני מוצא את הקובץ והשורה בקוד שאותם אני רוצה לשנות?

  5. אחלה מאמר, תודה רבה
    מחכה לעוד.

כתיבת תגובה

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