כשאנחנו חושבים על כלי פריצה לאתרים אנחנו חושבים הרבה פעמים על מתכנתים חמושים בקפוצ׳ון ומקלדת בין השיניים ופרצות מסובכות להבנה עם מונחים טכניים מסובכים.
מה הבעיה? שבלא מעט מקרים, לפעמים כלי הפריצה הטוב ביותר האפשרי הוא דווקא גוגל. הרבה פעמים, במיוחד במערכות שהן custom made או איזוטריות, מתכנתים משאירים ממשקים פתוחים לחלוטין.
כך למשל, חנות יין ואלכוהול ידועה ומוצלחת למדי גילתה לתדהמתה. כל מה שהיה צריך לעשות זה לחפש את שם האתר שלה + המילה ׳ניהול׳. מי שעשה את זה, קיבל בתוצאה הראשונה את ממשק הניהול.
ממשק הניהול הוא החלק הרגיש ביותר במערכת ומועד לפורענות. באתרים מסוג וורדפרס, ממשק הניהול נמצא בכתובת wp-admin. אבל אם תנסו להכנס לממשק הניהול של האתר הזה, תגלו ש-wp-admin לא קיים. כיוון שטרחתי להסוות אותו ושיניתי את הכתובת. למה? כי למרות שיש שם משתמש וסיסמה, חבל להכניס ראש בריא למיטה חולה. אם אפשר למנוע מראש כניסה אל הממשק למי שלא יודע את הכתובת, זה מוסיף שכבת הגנה נוספת.
הבעיה היא שגוגל סורקת המון כתובות ועלולה לסרוק גם את הכתובת של ממשק הניהול. אבל גוגל הוא מנוע חיפוש אתי, ואם נאמר לו באופן מפורש לא לסרוק את ממשק הניהול, הוא לא יסרוק אותו גם אם בטעות יש קישור כלשהו לממשק. איך עושים את זה? מקפידים שבתגיות המטא של האיזורים של ממשק הניהול יהיה את תגיות המטא האלו:
<meta name="robots" content="noindex, nofollow">
כן, זה כל כך פשוט! התגיות האלו אומרות משהו מאוד פשוט לגוגל ולמנועי חיפוש אחרים: אל תציגו את העמוד הזה בתוצאות החיפוש. מומלץ לוודא שיש את התגיות האלו במקומות רגישים. נכון, זה לא מונע הגעה פיזית אל העמוד הזה – אבל הוא כן ממזער את הסיכוי שתקלה מביכה כמו התקלה שלעיל תתרחש. חבל מאוד שאתרים לא משתמשים בזה יותר.
כמובן שמאוד כדאי להקפיד גם שממשק הניהול יהיה מוגן בסיסמה אמיתית. במקרה של החנות הזו, המתכנת שבנה את המערכת לא טרח ליישם מערכת סיסמה. זה איפשר לכל מאן דהו לבקר בממשק הניהול של החנות ולעשות ככל שברצונו כולל צפיה מלאה בפרטי הלקוחות:
או הקצאת קופונים, קביעת מחירים וכל דבר בעצם:
איך דבר כזה קורה? זה אחד היתרונות הבולטים של שימוש במערכת מוכרת ולא מערכת איזוטרית. בוורדפרס, דרופל או אפילו ג׳ומלה, כמעט בלתי אפשרי לייצר מערכת שממשק הניהול שלה פתוח לחלוטין. למה? סטנדרטיזציה. מדובר במערכות שפותחו על ידי אלפי מפתחים ויש להן נראות מאוד גבוהה בשוק. קשה לעשות טעויות בסיסיות עם נראות גבוהה כל כך. כאשר אנו בוחרים במערכת שהיא לא סטנדרטית, בין אם מדובר במערכת איזוטרית או במערכת שנבנתה כולה מאפס, יש סיכוי רב לטעויות כאלו. במקרה הזה מדובר במערכת Modx, מערכת שפחות מ-0.006 אחוז מהאתרים בעולם משתמשים בה, לפי אתר w3techs. לשם השוואה, נתח השוק של וורדפרס הוא 29 אחוז ואפילו נתח השוק של ג׳ומלה, שהולך ויורד הוא 3.2%. פי כמה וכמה מונים מ-ModX האיזוטרית.
מערכת איזוטרית היא מערכת שמתכנת לא מיומן עלול לעשות בה טעויות פטאליות כמו זו. אפילו מתכנת מיומן העובד לבדו יכול לעשות טעויות קריטיות. שלא לדבר על בעיות קשות בתחזוקה של מערכת כזו. מערכות קטנות חשופות מאוד לסיכונים שאין במערכות גדולות: מהסיכון הפשוט של לא למצוא מתכנת שיתחזק את המערכת, פרצות אבטחה שלא מתגלות במהירות (בניגוד למערכות פופולריות שיש להן נראות גבוהה ולא מעט מתכנתים ומומחי אבטחת מידע סורקים אותן תדיר) ובמקרים קריטיים – פרצות אבטחה ידועות שלא נסגרות בגלל מחסור בכוח אדם לתחזוק המערכות האיזוטריות. זה לא אומר שתמיד צריך ללכת על מה שפופולרי אבל אם חורגים מהנורמה, כדאי מאוד להבין את ההשלכות. במקרה הזה, מדובר בהשלכות משמעותיות שהיו יכולות לגרום לנזק אמיתי לעסק. למרבה המזל, מי שמצא את הפירצה התגלה כאדם אחראי מספיק ואני בחרתי שלא לפרסם את שם החנות. לא תמיד זה כך.
בשנים האחרונות אני רואה יותר ויותר ליקויי אבטחה באתרים שלא אמורים להיות שם. מדובר על פרקטיקות שלקרוא להן בסיסיות זה עלבון. לצערי לעתים אנשים מתפתים לבחור בוני אתרים זולים וזו התוצאה.
דיווחתי לחנות על התקלה והם תיקנו אותה במהירות רבה ופה הפרשה נסגרה בעצם. התגובה הרשמית שלהם היא: ״הנושא נבדק וטופל במיידי. מערכת האתר עשתה ותעשה ככל הנדרש על מנת לאפשר גלישה בטוחה ומהנה באתר.״ העדפתי לא להזכיר את השם שלהם כי בניגוד לפרשיות קודמות, אין כאן עניין משמעותי לציבור.
10 תגובות
הי רן,
האם אפשר לקבל קישור לאיך מסתירים את ה- wp-admin ו- wp-content?
אתה מלכלך על joomla בזמן שהכל היבט של סטנדרטיזציה, WordPress היא קוד מלוכלך לידה
ציינתי רק שלג׳ומלה יש נתח שוק קטן מאוד. לא נתתי חיווי על איכות הקוד של המערכת.
אז הנה רעיון לפוסט
תיקנו את זה אומנם אבל בקובץ הrobots.txt מגלים לכולם בדיוק איפה הכתובת לניהול.
כמוהם עוד עשרות אתרים.
וזה מתחיל מזה שבניית אתרים הפכה לעבודה שכבר "לא צריך מתכנת בשבילה".
פוסט מעניין וחשוב! כתבת ששינית את כתובת עמוד הלוגאין שלך. האם יש דרך קלה לעשות את זה (נניח, באמצעות תוסף אבטחה כלשהו)? האם בעת עדכון גרסת וורדפרס לא נדרסים השינויים הללו?
יש מלא תוספים שעושים את זה, אבל בפועל השינוי נעשה ב-htaccess שלא רלוונטי לשדרוגי אתרים.
מאמר חשוב מאין כמותו, תודה רן!
אני ממליץ להתקין תוסף yoast ולסגור את עמודי הלוגין לסריקה באופן נקודתי.
היי
כתבת: "איך עושים את זה? מקפידים שבתגיות המטא של האיזורים של ממשק הניהול יהיה את תגיות המטא האלו:
…
כן, זה כל כך פשוט!"
אשמח אם תיתן הסבר מפורט איך מוספים בפועל את תגיות המטה האלה, למי שעבורו זה לא כל כך פשוט (אנשים כמוני, למשל).
תודה!
הבעיה מתחילה ונגמרת במודעות. ולא במודעות לאבטחה של אתר, זה רק מתכון להיסטריה המונית. המודעות שאין וצריך להגביר היא לאיכות קוד. אבל כשכל חאפר מוכר את עצמו כמומחה, אי אפשר להעריך באמת איכות. סלחו לי מראש על ריבוי האנדרסטייטמנטס.