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

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

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

מאמר זה מתאר דרך קלה להגן על ספריית אינטרנט ב- Apache באמצעות קובץ .htaccess .

הערה : הדרכה זו נעשית בשרת אובונטו עם Apache מותקן.

התקנת חבילת השירות של Apache

ראשית, אתה צריך להתקין את החבילה apache2-utils המספק כלי שנקרא htpasswd כדי ליצור קובץ סיסמה.

ניתן להתקין אותו על-ידי הפעלת הפקודה הבאה:

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

הגדר את Apache כדי לאפשר אימות .htaccess

כברירת מחדל, Apache אינו מאפשר שימוש בקובץ .htaccess באובונטו 14.04. יהיה עליך להגדיר את קובץ ההגדרות של Apache כדי לאפשר אימות מבוסס .htaccces.

תוכל לעשות זאת על ידי עריכת קובץ ההגדרות של Apache:

 sudo nano /etc/apache2/apache2.conf 

מצא את הקטע שמתחיל עם Directory "/var/www/html" ולשנות את הקו מתוך AllowOverride none כדי AllowOverride AuthConfig

 אפשרויות אינדקסים FollowSymLinks AllowOverride AuthConfig דרוש כל מאובטח 

שמור וסגור את הקובץ.

צור את קובץ הסיסמה

ניתן להשתמש בכלי השירות שורת הפקודה htpasswd כדי ליצור קובץ סיסמה שאפאצ'י יכול להשתמש בו כדי לאמת משתמשים. עכשיו, ליצור קובץ .htpasswd מוסתר בספריית התצורה "/ etc / apache2".

 sudo htpasswd -c /etc/apache2/.htpasswd authuser1 

פעולה זו תבקש ממך לספק ולאשר סיסמה עבור authuser1.

אם ברצונך להוסיף משתמש נוסף, השאר את הפקודה -c עם הפקודה htpasswd .

עכשיו, כדי ליצור אימות נוסף עבור משתמש שני, authuser2:

 suto htpasswd /etc/apache2/.htpasswd authuser2 

אתה יכול לראות את שם המשתמש ואת הסיסמה מוצפנים עבור כל רשומה על ידי פועל:

 sudo cat /etc/apache2/.htpasswd 

עליך להעניק הרשאה למשתמש "www-data" כדי לקרוא את קובץ ה- htpasswd.

 sudo chown www-data: www-data /etc/httpd/.htpasswd sudo chmod 0660 /etc/httpd/.htpasswd 

הגדר אימות סיסמה של Apache

עליך ליצור קובץ ".htaccess" בספריית האינטרנט שברצונך להגביל. בדוגמה זו אני אצור קובץ ".htaccess" בספרייה "/ var / www / html /" כדי להגביל את שורש המסמך כולו.

 sudo nano /var/www/html/.htaccess 

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

 AuthType Basic AuthName "תוכן מוגבל" AuthUserFile /etc/apache2/.htpasswd דרוש משתמש חוקי 

הנה מה הקוד לעיל אומר:

  • AuthType : אפשרות זו מגדירה את סוג האימות.
  • AuthName : זהו תוכן שמוצג בדף האינטרנט כאשר תתבקש להזין שם משתמש וסיסמה.
  • AuthUserFile : אפשרות זו מציינת את המיקום של אישורי המשתמש.
  • דורש משתמש חוקי : הדבר מציין שרק בקשות מאומתות מוצלחות עשויות לטעון את הדף.

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

 / הפעלה מחדש / 

בדיקת אימות סיסמה

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

אם תזין את פרטי המשתמש הנכונים, תהיה רשאי לגשת לתוכן. אם תזין את פרטי המשתמש שגויים או תלחץ על "ביטול", תראה את הדף שגיאה לא מורשית .

סיכום

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