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

איך אני בולם ניסיונות סריקה לוורדפרס ומגן על ממשק הניהול שלי.
block scan

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

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

כלי נוסף שיש בלינוקס קאלי הם כלי פריצה שבודקים ספריות פתוחות. למשל wp-login אבל לא רק אלא תיקיות נוספות שיכולות להכיל כל מיני דברים מעניינים. שם המוצר הוא dirscan והוא מחפש לפעמים אלפי שמות של תיקיות בעייתיות. הנה למשל דוגמה של dirscan שאני עושה לאתר שהורשיתי לעשות אליו בדיקה. הרבה פעמים אני מכניס נתיבים ידועים. כמו למשל wp-admin או wp-content או נתיבים של wp-json של וורדפרס REST.

dirb scan - סריקת תיקיות על אתר דוגמה
dirb scan – סריקת תיקיות על אתר דוגמה

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

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

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

אפשר להשיג את שם המשתמש גם אם ממשק ה-rest של וורדפרס פתוח. מדובר בממשק שכשמו כן הוא – מתן גישה ל-API שמאפשר גישה לאתרים שונים. ברוב האתרים הממשק הזה פתוח ומאפשר לראות את שמות המשתמשים. /wp-json/wp/v2/users זה נקודת הכניסה – למשל https://internet-israel.com/wp-json/wp/v2/users

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

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

ithemes security

אם אני עושה wp scan ואני רואה שאין שום אייטמים, אז אני יודע שמדובר באתר שלוקח את האבטחה ברצינות. וזה גם משהו שממש קל לעשות. מרימים instance של קאלי, עושים בדיקה מהירה. מתקנים את הכל או עם תוספים או עם קוד, מוודאים שהכל מעודכן ומתעדכן וגובים כסף על השירות. כולם מרוצים: הלקוח מקבל אתר יותר מאובטח + הוכחות שנעשו פעולות, בונה האתר יכול לקבל כסף על שירות ייחודי שלא רבים מספקים. מי לא מרוצה? החאפרים.

אפשר לקחת את זה למקום יותר טוב, אם תסרקו את האתר שלי ב-wpscan, מה תראו לפי דעתכם?

block scan
block scan

מה קרה פה? אם אין user agent, הסריקה מתפוצצת. אם אני אבקש יותר מדי בקשות – הסריקה תמות ואני אחסם, אם אני אשלח יותר מדי בקשות ב-404, אני אכשל. למה? כי כל בקשה שעוברת דרך הוורדפרס נכשלת. למה? כי יש לי פיירוול. לא, לא הייתי צריך לעשות דבר ברמת ההוסטינג. כל מה שהייתי צריך לעשות זה לרכוש מוצר חמוד שנקרא Web Defender של cobweb שעולה לי 7 דולר לחודש ומכיל גם שירותי סריקה לקבצי PHP רעים. אני לא חושב שלקוח יכול להתקין כזה מוצר כי:
א. הוא לא מבין אותו.
ב. הוא לא ידע מה לעשות עם ההתראות שלו. יש לפעמים false positive.

cobweb security
cobweb security

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

פוסטים נוספים שכדאי לקרוא

פתרונות ומאמרים על פיתוח אינטרנט

יישום של nonce על מנת להגן מפני התקפות injection

בפוסט הקודם הסברתי על hash עם CSP על משאבי inline – שזה נחמד ומעולה אבל פחות ישים בעולם האמיתי שבו בדרך כלל התוכן ה-inline (בין

תמונה של הבית הלבן עם מחשוב ענן וטקסט: FEDRAMP
פתרונות ומאמרים על פיתוח אינטרנט

FedRAMP & FIPS מבוא למתחילים

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

גלילה לראש העמוד