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

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

אפאצ 'י הוא אחד שרתי האינטרנט הנפוץ ביותר והפופולרי ביותר בעולם, והיא סמכויות כמעט 40% מכלל השרתים בעולם. אם אתה מנהל אתר או מנהל מערכת של שרת Apache, חשוב שתדעו כיצד לאבטח את Apache ולמנוע את פריצתו. במאמר זה נתאר כמה טיפים וטריקים שניתן להשתמש בהם כדי לאבטח את שרת Apache.

הערה : אנו משתמשים ב- Ubuntu 14.04 עבור ערכת לימוד זו.

התקן ועדכן את Apache

ראשית, עליך לעדכן ולהתקין את Apache למערכת שלך.

לשם כך, הפעל את הפקודה הבאה:

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

הסתר גירסה Apache

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

ב צילום מסך לעיל אתה יכול לראות את הגירסה Apache ואת מערכת ההפעלה מותקנת בשרת שלך. זה יכול להיות בעיה אבטחה מרכזית עבור שרת האינטרנט שלך. כדי להסתיר מידע זה, עליך לערוך את קובץ התצורה הראשי של Apache ("/etc/apache2/conf-enabled/security.conf").

 sudo nano /etc/apache2/conf-enabled/security.conf 

הוסף / ערוך את השורה הבאה:

 כבוי ServerTokens Prod 

שמור את הקובץ והפעל מחדש את שירות ה- Apache.

 / הפעלה מחדש / 

כיבוי מדריך גלישה השבת קישורים סמליים

כברירת מחדל, רישום הספריות מופעל בשרת Apache. רשימת המדריכים מציגה את כל הספריות עם כל הקבצים משרת Apache. אם אפשרות זו מופעלת, תוקף יכול בקלות להציג כל קובץ, לנתח אותו ולקבל מידע רגיש לגבי יישום.

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

באפשרותך להשבית הגדרה זו על-ידי עריכת קובץ ההגדרות של Apache.

 sudo nano /etc/apache2/apache2.conf 

הוסף / ערוך את השורה הבאה:

 אפשרויות -פלא-סימניות- AllowOverride אין צורך בכל האפשרויות 

הערה : הקוד הנ"ל מניח שדפי האינטרנט שלך מוגשים מהתיקייה "/ var / www / html". אם שינית את התיקיה הציבורית למיקום מותאם אישית, שנה את נתיב Directory בקוד לעיל.

הקו Options -FollowSymLinks גם משבית קישורים סמליים. אם ברצונך להפעיל קישורים סמליים, הסר את השלט "-" לפני ה - FollowSymLinks, כך שהוא הופך Options FollowSymLinks.

שמור את הקובץ והפעל מחדש את שרת Apache.

אחרי זה לנסות לבקר את האינטרנט בדפדפן, ואתה תקבל שגיאה אסורה המוצגת בתמונה הבאה.

השבת מודולים מיותרים

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

 sudo ls / etc / apache2 / mods-enabled / 

זה יציג את הפלט כפי שמוצג בתמונה הבאה.

מן המודולים המפורטים לעיל, כמה מודולים כמו "מצב" ו "autoindex" מופעלים אבל לא נחוץ.

באפשרותך להשבית את המודולים באמצעות הפקודה הבאה:

 sudo a2dismod autoindex sudo a2dismod סטטוס sudo /etc/init.d/apach2 restart 

השתמש ב- ModSecurity

אבטחה Mod הוא מודול Apache חינם המשמש להגנה על שרת האינטרנט שלך מפני התקפות שונות כמו הזרקת SQL, crossing האתר לחצות, חטיפת הפגישה, כוח הזרוע הרבה מנצל אחרים. זה גם מאפשר לך לעקוב אחר התנועה על בסיס בזמן אמת.

באפשרותך להתקין את אבטחת mod באמצעות הפקודה הבאה:

 sudo apt- לקבל להתקין libapache2-modsecurity 

כדי לבדוק אם מודול mod_security פועל, השתמש בפקודה הבאה:

 sudo apachectl -M grep - אבטחה צבע 

התמונה המוצגת להלן מציינת שהמודול נטען.

כדי להפעיל את כללי mod_security, עליך לשנות את שם הקובץ ולערוך את קובץ ההגדרות המומלץ לאבטחה של Mod ולהגדיר את האפשרות SecRuleEngine למצב On .

לשם כך, הפעל את הפקודה הבאה:

 sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf sudo nano /etc/modsecurity/modsecurity.conf 

הוסף / ערוך את השורה הבאה:

 הפעלת 

כעת הפעל מחדש את Apache כדי שהשינויים ייכנסו לתוקף.

יש הרבה כללי אבטחה שמגיעים עם Modesecurity (הנקרא Core Rule Set) הממוקמים בספריה "/ usr / share / modsecurity-crs". עכשיו אתה צריך לאפשר את הכללים האלה כדי לקבל את זה עובד עם אפאצ 'י.

באפשרותך לבצע זאת על-ידי עריכת הקובץ "/etc/apache2/mods-enabled/security2.conf".

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

הוסף / ערוך את השורה הבאה:

 SimilarOptional /etc/modsecurity/*.conf includeOptional "/usr/share/modsecurity-crs/c.conf" includeOptional "/usr/share/modsecurity-crs/base_rules/*.conf 

שמור את הקובץ והפעל מחדש את Apache.

כיבוי בצד השרת כולל וביצוע CGI.

מומלץ להשבית בצד השרת כולל ביצוע CGI אם אין צורך.

לשם כך עליך לערוך את קובץ ההגדרות הראשי של Apache.

 sudo nano /etc/apache2/apache2.conf 

הוסף / ערוך את השורה הבאה:

 Options -FollowSymLinks -Includes -ExecCGI AllowOverride לא נדרש כל מאובטח 

שמור את הקובץ והפעל מחדש את Apache.

ניתן גם לעשות זאת עבור ספריה מסוימת. לדוגמה, כדי לכבות את צד השרת כולל הוצאות cgi קובץ עבור הספרייה "/ var / www / html / webdir1", ddd / לערוך את השורה הבאה:

 אפשרויות - כולל -ExecCGI 

שמור את הקובץ והפעל מחדש את Apache.

הגבלת בקשות גדולות

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

ניתן להגדיר את הערך מ -0 (ללא הגבלה) ל -2147483647 (2GB) בקובץ ההגדרות הראשי של Apache.

לדוגמה, הגבל את גודל הבקשה של הספרייה "/ var / www / html / webdir1" ל- 200K.

 sudo nano /etc/apache2/apache2.conf 

הוסף / ערוך את השורה הבאה:

 מגירה 204800 

שמור את הקובץ והפעל מחדש את Apache.

איסור גלישה מחוץ לשורש המסמך

מומלץ ש- Apache יוכל לגשת רק לספריית השורש של המסמך. ניתן לאבטח את ספריית השורש (/) על ידי הגדרת השורה הבאה:

 sudo nano /etc/apache2/apache2.conf 

הוסף / ערוך את השורה הבאה:

 אפשרויות אין אפשרות להכחיש, לאפשר לדחות מכל 

זה מה שהקוד עושה:

  • Options None : פעולה זו תכבה את כל האפשרויות.
  • Order deny, allow : את הסדר שבו מוחלות פקודות ההיתר וההכחשה.
  • Deny from all : פעולה זו תכחיש בקשה מכולם לספריית השורש.

שמור את הקובץ והפעל מחדש את Apache.

שמור על אפאצ 'י עד תאריך

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

באפשרותך לעדכן את ה- Apache לגירסה העדכנית ביותר באמצעות הפקודה הבאה:

 sudo apt-get להתקין apache2 --reinstall 

סיכום

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