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

Fail2Ban הוא כלי פשוט, עדיין שימושי שיכול לפקח על השרת שלך מפני התקפה זדונית לחסום אותם לפני שהם יכולים לזרוע הרס.

הַתקָנָה

Fail2Ban זמין במאגר אובונטו, כך שאתה יכול בקלות להתקין עם הפקודה:

 sudo apt- לקבל להתקין fail2ban 

עבור משתמשי Red Hat או Centos, באפשרותך להתקין את Fail2Ban באמצעות מאגר ה- EPEL.

לאחר התקנת Fail2Ban, השלב הבא הוא להעביר את קובץ התצורה לתיקיה מקומית, כך שלא תשנה את קובץ התצורה הראשי בטעות.

 sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 

תְצוּרָה

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

 sudo nano /etc/fail2ban/jail.local 

קובץ התצורה מחולק למקטעים שונים. הראשון שתגיע אליו הוא [DEFAULT].

 [DEFAULT] # "ignoreip" יכול להיות כתובת IP, מסכת CIDR או DNS מארח hostoreip = 127.0.0.1/8 bantime = 600 maxretry = 3 # "backend" מציין את backend המשמש לשינוי קבצים. זמין # אפשרויות הם "gamin", "הסקרים" ו "אוטומטי". # yoh: מסיבה כלשהי דביאן שיגרה פיתון- gamin לא עובד כצפוי # בעיה זו עזב ToDo, כך הסקרים היא ברירת המחדל backend לעת עתה backend = אוטומטי # # כתובת כתובת היעד המשמש אך ורק עבור אינטרפולציות בכלא # {conf, מקומי}. = root @ localhost 

כמה פרמטרים שאתה צריך לשים לב כאן הוא ignoreip, bantime ו maxretry .

  • ignoreip - זה המקום שבו אתה ברשימה הלבנה IP שאתה לא רוצה לחסום. ברירת המחדל היא localhost (127.0.0.1/8). ניתן להוסיף כתובות IP נוספות לשדה, תוך הפרדת כל IP עם רווח.
  • bantime - זהו משך הזמן בשניות לחסום את הגישה של ה- IP לשרת שלך. ברירת המחדל היא 10 דקות (600 שניות)
  • maxretry -this הוא מספר ניסיונות הכניסה הכושלים לפני שה- IP נחסם.

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

החלק הבא הוא "פעולות".

 # פעולות # # # איסור מחדל פעולה (למשל iptables, iptables-new, # iptables-multport, shorewall, וכו ') הוא משמש כדי להגדיר # action_ * משתנים. ניתן לדרוס גלובלי או לפי סעיף # בתוך jail.local קובץ banaction = iptables-multport # פעולה דוא"ל. מאז 0.8.1 במעלה הזרם fail2ban משתמש Sendmail # MTA עבור דיוור. שינוי פרמטר תצורת mta לדואר # אם ברצונך לחזור ל'דואר 'רגיל. mta = sendmail # פרוטוקול פרוטוקול ברירת המחדל = tcp # ציין שרשרת שבה קפיצות יצטרכו להוסיף ב- iptables- * פעולות שרשרת = INPUT # # קיצורי דרך לפעולה. כדי לשמש להגדרת פרמטר הפעולה # הפעולה הפשוטה ביותר: איסור רק פעולה = =% (banaction) s [שם =% (____ שם __) s, port = "% (port) s", פרוטוקול = "% (פרוטוקול) s ", שרשרת ="% (שרשרת) s "] # איסור & לשלוח דואר אלקטרוני עם whois לדווח. (%) (%) (s), % = (% s), % = (%) (%). s-whois [שם =% (__ שם __) s, dest = "% (destemail) s", פרוטוקול = "% (פרוטוקול) s", שרשרת = "% (שרשרת) s"] # איסור ושליחה של דואר אלקטרוני עם whois דו"ח וקווים יומן רלוונטיים # אל destemail. (%) (%) (s), % = (% s), % = (% s) s = whois-lines [שם =% (__ שם __) s, dest =% (destemail) s, logpath =% (logpath) s, שרשרת = "% (שרשרת) s"] # בחר פעולה ברירת מחדל. כדי לשנות, פשוט לעקוף את הערך של 'פעולה' עם # אינטרפולציה לקיצור הפעולה שנבחרה (למשל action_mw, action_mwl, וכו ') בכלא. #local # גלובלי (סעיף [DEFAULT]) או לפי סעיף ספציפי פעולה =% (action_) s 

רוב ההגדרות כאן ניתן להשאיר ברירת המחדל, אלא אם כן אתה רוצה לשנות את banaction ואת protocol . ברירת המחדל "banaction" היא דרך IPTable. אתה יכול לקבל את זה כדי להשתמש בהגדרת מרובה יציאות או ליצור IpTable חדש עבור זה. ערך ברירת המחדל עבור "פרוטוקול" הוא tcp, אבל אתה יכול לשנות את זה ל udp, תלוי באיזה חיבור אתה משתמש.

החלק האחרון של סעיף "כלא" שבו אתה יכול להגדיר את Fail2Ban כדי לפקח על שרת Apache שלך, שרת FTP, שרת דואר שרת DNS.

 [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6 

ברוב המקרים, אתה רק צריך לשנות את " מופעל = שקר " הגדרה ל " מופעלת = true " וזה יופעל עבור שירות זה. אם אינך משתמש ביציאה 20 הרגילה עבור SSH, באפשרותך גם לשנות את מספר היציאה בהגדרה לעיל.

לאחר שתסיים עם תצורה, לחץ על "Ctrl + o" כדי לשמור "ctrl + x" כדי לצאת.

לבסוף, הפעל מחדש את שירות Fail2Ban עם הפקודה:

 שירות 

באילו דרכים אחרות אתה משתמש כדי להגן על שרת SSH?