מאמר זה הוא חלק מסדרת מדריך השרתים של Apache:

  • אבטחת אפאצ 'י על אובונטו - חלק 1
  • אבטחת אפאצ 'י על אובונטו - חלק 2
  • אופטימיזציה של ביצועי Apache - חלק 1
  • אופטימיזציה של ביצועי Apache - חלק 2
  • הגדרת שם מבוסס Virtualhost Apache
  • הגדרת IP ו Virtualhost מבוסס יציאה ב Apache
  • כיצד להגדיר את הסיסמה להגן על מדריך האינטרנט ב - Apache
  • הגדרת שרת Apache עם תמיכה ב- SSL על אובונטו
  • הגדרת Fail2ban כדי להגן על אפאצ 'י מהתקפה DDOS
  • כיצד להגדיר Webdav עם אפאצ 'י על אובונטו
  • לפקח על שרת האינטרנט Apache באמצעות
  • כיצד להגן על DDoS עם Mod_evasive על שרת אפאצ 'י

Mod_evasive הוא מודול Apache המספק פעולה מתחמקת במקרה של התקפת HTTP DoS או DDoS או התקפת כוח פראי. mod_evasive מדווח על פעילות זדונית באמצעות דואר אלקטרוני ו- syslog. המודול mod_evasive פועל על-ידי יצירת טבלת חשיש דינמית פנימית של כתובות IP ו- URIs ומניעת כתובת IP יחידה מכל אחד מהמצבים הבאים:

  • מבקש את אותו הדף יותר מכמה פעמים בשנייה
  • ביצוע יותר מ 50 בקשות בו זמנית באותו ילד לשנייה
  • ביצוע בקשות כלשהן ברשימה שחורה זמנית (ברשימת חסימה)

במדריך זה אני אדון כיצד להתקין, להגדיר ולהשתמש mod_evasive בשרת אפאצ 'י שלך. הדרכה זו משתמשת בשרת Ubuntu 14.04.

התקנת mod_evasive

ראשית, ודא שרת Apache מותקן ופועל.

לאחר מכן, ניתן להתקין מודול mod_evasive על ידי ריצה:

 sudo apt- לקבל להתקין libapache2-mod-מתחמק 

לאחר התקנת mod_evasive, באפשרותך לאמת את המודול על-ידי הפעלת הפקודות הבאות:

 sudo apachectl -M grep מתחמק 

אם mod_evasive מופעל, תראה את הפלט הבא:

 evasive20_module (משותף) 

הגדר Mod_evasive

המודול mod_evasive קורא את התצורה שלו מ "/etc/apache2/mods-enabled/evasive.conf." אתה יכול בקלות להתאים אישית את המודול mod_evasive דרך קובץ ההגדרות "evasive.conf". כברירת מחדל, אפשרויות תצורה mod_evasive מושבתות, לכן יהיה עליך להפעיל אותן תחילה. לשם כך, ערוך את הקובץ "evasive.conf":

 sudo nano /etc/apache2/mods-enabled/evasive.conf 

הסר # מהשורות הבאות:

 DoshashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSEmailNotify [email protected] DOSLogDir "/ var / log / apache2 /" 

שמור את הקובץ והפעל מחדש את Apache כדי שהשינויים ייכנסו לתוקף:

 / הפעלה מחדש / 

ניתן לשנות את הערכים שלעיל בהתאם לסכום ולסוג התנועה ששרת האינטרנט שלך צריך לטפל בהם.

DOSHashTableSize : הוראה זו קובעת כיצד mod_evasive עוקב אחר מי ניגש אל מה. הגדלת מספר זה תספק בדיקה מהירה יותר של האתרים שבהם הלקוח ביקר בעבר.

DOSPageCount : הוראה זו מציינת כמה בקשות זהות DOSPageCount : URI מסוים המבקר יכול לעשות מעל מרווח DOSPageInterval.

DOSSiteCount : זה דומה DOSPageCount אבל מתאים למספר בקשות הכולל מבקר יכול לעשות לאתר שלך על מרווח DOSSiteInterval.

DOSBlockingPeriod : אם המבקר חורג מהמגבלות שנקבעו על ידי DOSSPageCount או DOSSiteCount, ה- IP שלו ייחסם במהלך הזמן DOSBlockingPeriod. במהלך מרווח זה, הוא יקבל שגיאה 403 (אסור).

DOSEmailNotify : הודעת דוא"ל תישלח לכתובת הדוא"ל שצוין כאשר כתובת IP היא ברשימה השחורה.

DOSLogDir : הוראה זו מציינת את מיקום ספריית היומנים.

בדיקה Mod_evasive

עכשיו הגיע הזמן לבדוק אם מודול mod_evasive עובד או לא. אתה יכול לעשות זאת באמצעות סקריפט perl "test.pl" הממוקם בספריה "/ usr / share / doc / libapache2-mod-evasive / example /".

באפשרותך להפעיל את הסקריפט על-ידי הפעלת הפקודה הבאה:

 sudo perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl 

אתה אמור לראות את הפלט הבא:

התסריט עושה 100 בקשות לשרת האינטרנט שלך. קוד התגובה 403 מציין שהגישה נשללת על ידי שרת האינטרנט.

סיכום

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