העובדה שאתה משלם על All-in-One WP Migration (בגרסת ה-Unlimited) ועדיין חווה כשלים, היא תלונה מאוד נפוצה. הסיבה לכך טכנית וחשוב להבין אותה כדי לבחור נכון.
מנהלי שרתים מכירים את הרגע הזה: האתרים מתחילים לזחול, ה-Dashboard של ה-cPanel בקושי נטען, ופקודת top מציגה מספרים מפחידים. בוקר אחד מצאתי שרת VPS עם כ-30 אתרי וורדפרס, כורע תחת עומס (Load Average) שחצה את ה-6.0, כשכל הליבות של המעבד צבועות באדום.
בסדרת המאמרים הזו, אתאר את תהליך ה"ניתוח" שביצעתי, את המלכודות שגיליתי, ואת הסקריפטים שפיתחתי כדי להפוך את השרת למבצר אוטונומי.
הפרק הראשון: האבחון והמלחמה ב"רעש הלבן"
הבעיה: ה-Fake Load
הדבר הראשון שגיליתי הוא שלא מדובר בתנועה של גולשים אמיתיים. השרת סבל ממה שאני מכנה "Fake Load": אלפי בוטים (בעיקר מחוות שרתים כמו Azure ו-M247) שסורקים את השרת בחיפוש אחר פרצות (כמו קבצי alfa.php, shell.php ו-xmlrpc.php).
הבקשות האלו, אפילו אם הן נחסמות או מחזירות שגיאת 404, מאלצות את ה-Web Server (במקרה שלי LiteSpeed) להפעיל תהליכי PHP ולקרוא קבצי .htaccess, מה שגומר את הזיכרון (RAM) ויוצר עומס אדיר על המעבד.
השלב הראשון: בניית "מלכודת דבש" (Honeypot) ב-.htaccess
במקום רק לחסום, החלטתי "לצבוע" את התוקפים. הוספתי כלל לקובץ ה-.htaccess הראשי שמפנה כל ניסיון גישה לקבצי פריצה נפוצים לקוד שגיאה 403 (Forbidden).
למה 403? כי זה מאפשר לנו לזהות את התוקף בלוגים של השרת בשלב מאוחר יותר ולחסום אותו ב-Firewall לפני שהוא בכלל נוגע באתר.
הכלי הראשון: סקריפט זיהוי הסורקים (check_scanners.sh)
כדי להבין מי נגד מי, בניתי סקריפט קטן שסורק את ה-Access Logs של כל האתרים בשרת ומציג את ה-IPs הכי "חצופים" ב-24 השעות האחרונות.
להורדה ושימוש (למנהלי שרתים):
צרו קובץ חדש:
nano /root/check_scanners.shהדביקו את הקוד הבא:
#!/bin/bash
# סקריפט לזיהוי IPs שיוצרים עומס ושגיאות 404/403
LOG_DIR="/usr/local/apache/domlogs"
echo "--------------------------------------------------"
echo "Top 10 IP Addresses causing 404/403 errors"
echo "--------------------------------------------------"
grep -Eh " 404 | 403 " $LOG_DIR/* 2>/dev/null | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 10
echo "--------------------------------------------------"
תנו הרשאות הרצה:
chmod +x /root/check_scanners.sh
הלקח הראשון: "אש ידידותית"
במהלך האבחון גיליתי שה-IP הביתי שלי וכתובת ה-IP של השרת עצמו הופיעו בדו"ח התוקפים. למה? כי וורדפרס מריץ משימות רקע (Cron) שמתחברות לשרת עצמו. אם ה-Firewall אגרסיבי מדי, הוא חוסם את השרת של עצמו ויוצר לופ של עומס.
הפתרון: הלבנה (Whitelist) מיידית של ה-IP הביתי וכתובת השרת ב-CSF (csf -a IP).
מה מחכה לנו בפרק ב'?
בפרק הבא נדבר על מעבר להגנה אוטומטית: איך גרמתי ל-Firewall (CSF/LFD) "לקרוא" את הלוגים ולחסום תוקפים בזמן אמת בלי שאצטרך להזיז אצבע, ואיך התמודדתי עם מתקפת המיילים המבוזרת שגילנו בדרך.
החזון: להיות הטלפון הראשון שלך לעולם האינטרנט.
יזם ומוביל טכנולוגי מחזון ורעיון למוצר מתפקד ומוכר בשטח. פיתח מעל 15 מוצרים טכנולוגיים במהלך השנים וכיום מאות אתרים – בעיקר וורדפרס ו REACT – ומספר אפליקציות אינטרנט ייחודיות.
מתמחה בפיתוח אפליקציות, תוספים ותבניות, בניית אתרים, קידום אתרים, שיפורי אבטחה ואתרים מהירים. מחפש תמיד לעשות את המדויק, מקצועי ואם צריך שיהיה שונה מאחרים.