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

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

אפאצ 'י הוא אחד שרתי האינטרנט הנפוץ ביותר והפופולרי ביותר בעולם, ולכן חשוב להגן על האתר שלך ומשתמשים התקפות כוח הזרוע. Fail2ban היא תוכנת קוד פתוח למניעת חדירות שנכתבה בפייתון. Fail2Ban מנתח ברציפות את קבצי היומן של השירותים השונים (כגון Apache, ssh, postfix ...), ואם הוא מזהה התקפות זדוניות, הוא יוצר כללים בחומת האש כדי לחסום כתובות IP של האקרים למשך פרק זמן מסוים. Fail2Ban גם מודיע מנהל המערכת עם דוא"ל של פעילותה.

במאמר זה אני יסביר כיצד להתקין fail2ban ולהגדיר אותו כדי לפקח על יומני Apache שלך ​​עבור ניסיונות כישלון אימות זדוני.

דרישות

  • שרת אובונטו 14.04 עם Apache מותקן
  • Apache מוגדר עם אימות סיסמה

התקנת Fail2Ban

ראשית, ודא כי שרת Apache פועל ואימות הסיסמה מופעל.

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

 sudo apt- לקבל עדכון sudo apt-get להתקין fail2ban 

הגדר fail2ban עבור Apache

Fail2ban שומר את קובץ התצורה שלו "jail.conf" בספריה "/ etc / fail2ban /". הוא מכיל קבוצה של מסננים מוגדרים מראש עבור שירותים שונים, מומלץ לא לערוך את הקובץ הזה. עליך להפעיל מאגרי Apache מוגדרים מראש על-ידי יצירת קובץ "/etc/fail2ban/jail.local":

כדי ליצור קובץ "jail.local" חדש, הפעל:

 sudo nano /etc/fail2ban/jail.local 

הוסף את התוכן הבא:

 [apache] מאופשר = true port = http, https = ifache-auth logpath = /var/log /apache2/*error.log maxretry = 3 findtime = 600 ignoreip = 192.168.1.227 [apache-noscript] enabled = true port = http, מסנן https = apache-noscript logpath = /var/logache2/errorerror.exe maxretry = 3 findtime = 600 ignoreip = 192.168.1.227 [apache-overflows] enabled = true port = http, https filter = apache-overflows logpath = /var/log /apache2/*error.log maxretry = 2 findtime = 600 ignoreip = 192.168.1.227 [apache-badbots] enabled = true port = http, https filter = apache-badbots logpath = / var / log / apache2 / /error.log maxretry = 2 findtime = 600 ignoreip = 192.168.1.227 

שמור וסגור את הקובץ ולאחר מכן הפעל מחדש את fail2ban כדי שהשינויים ייכנסו לתוקף.

 הפעלה מחדש / 

באפשרותך לאמת את הכללים שנוספו על-ידי Fail2Ban ב- iptables באמצעות הפקודה הבאה:

 sudo iptables -L 

הפלט ייראה בערך כך:

הערה : תוכל למצוא את הפרטים של כל כלא המתוארים להלן:

  • [apache] : כלא זה משמש לחסימת ניסיונות כניסה שנכשלו.
  • [apache-noscript] : כלא זה משמש לחסימת לקוחות מרוחקים המחפשים סקריפטים באתר לביצוע.
  • [apache-overflows] : כלא זה משמש לחסימת לקוחות המנסים לבקש כתובות אתרים חשודות.
  • [apache-noscript] : כלא זה משמש לחסימת לקוחות מרוחקים אשר מחפשים סקריפטים באתר לבצע.
  • [apache-badbots] : הכלא הזה משמש לחסימת בקשות בוט זדוניות.

הערה : תוכל למצוא את הפרטים של כל כלל המתואר למטה.

  • enabled : אפשרות זו פירושה הגנה על אפאצ 'י.
  • port : אפשרות זו מציינת את השירותים אשר צגים fail2ban.
  • filter : אפשרות זו מתייחסת לקובץ config הממוקם בספריה /etc/fail2ban/filter.d/ .
  • logpath : אפשרות זו מציינת את מיקום קובץ היומן.
  • bantime : אפשרות זו מציינת את מספר השניות שמארח מרוחק יחסם מהשרת.
  • maxretry : אפשרות זו מציינת את מספר ניסיונות הכניסה שנכשלו לפני maxretry מרוחק נחסם למשך זמן האיסור.
  • ignoreip : אפשרות זו מאפשרת לך להוסיף לרשימת כתובות IP מסוימות חסימה.

בדוק Fail2ban מצב באנינג

לאחר הפעלת בתי הכלא, אתה יכול לבדוק fail2ban באמצעות הפקודה fail2ban-client :

 מצב sudo fail2ban-client 

תוכל לראות רשימה של כל בתי הכלא שהפעלת.

כדי לראות את הסטטוס של כלא מסוים כמו Apache, apache-badbots על ידי הפעלת הפקודות הבאות:

 מצב 

הפלט נראה כך:

ניתן גם להגדיר באופן ידני איסור או ביטול כתובות IP.

לדוגמה, כדי לאסור כתובת IP (192.168.1.20) עם כלא אפאצ 'י:

 supo fail2ban-client set apache banip 192.168.1.20 

כדי לבטל כתובת IP (192.168.1.21) עם כלא אפאצ 'י:

 su2o-fail2ban לקוח להגדיר אפאצ 'י unbanip 192.168.1.21 

בדיקה Fail2Ban

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

בדוק את המצב עם הפקודה fail2ban-client :

 מצב 

תראה את כתובת ה- IP שלך נחסמה מהאתר.

סיכום

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