כיצד להגן על האתרים שלנו באמצעות דוגמאות .htpasswd +

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

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

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

שיקולים קודמים: אשתמש שרת אובונטו y Apache 2.2.22 בסביבה מבוקרת.

אנחנו מתחילים.

כפי שחלקכם אולי כבר יודעים, כברירת מחדל אתרי האפצ'י הזמינים מאוחסנים בספריה / var / www / ולדוגמא זו אצור ספריה עם תבנית HTML ואנסה לסוכך עליה עם .htpasswd.

הספרייה להגן היא / var / www / example / איפה שמתי את הדף הבא.

בשרת

בדפדפן

1. אנו הולכים ליצור את .htpasswd.

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

למשתמשים חדשים בלינוקס. כדי להסתיר ספרייה או קובץ, יש צורך להתחיל רק את שמו בנקודה (.).

עם הפקודה הבאה אני יוצר את קובץ ה-. Htpasswd עבור משתמש אינטרנט שכיוונתי בשם: "לוק".

# htpasswd -c /home/krel/.htpasswd Luke

זה יבקש מאיתנו לספק את הסיסמה פעמיים, במקרה שלי שמתי את "סקייווקר" (ללא הצעות מחיר). בסביבה לא מבוקרת עלינו ליצור סיסמאות חזקות יותר. ההצפנה המוגדרת כברירת מחדל בלינוקס היא MD5 אך ב- Unix מדובר בהטמעה רגילה של קריפטה () ולסיסמאות עם פחות מ- 8 תווים היא עלולה להיות פגיעה. עכשיו נשאלת השאלה אם זה אותו הדבר ב- BSD.

לפקודה יש ​​מבנה זה:

  • -c → כדי ליצור את הקובץ
  • /home/krel/.htpasswd → הנתיב המוחלט של הקובץ.
  • לוק → שם המשתמש (זה יכול להיות מה שאתה רוצה)

באופן דומה, אני לא מכריח אף אחד להשתמש במסוף כשיש שירותים באינטרנט בשבילו:
http://www.web2generators.com/apache/htpasswd_generator

http://www.htaccesstools.com/htpasswd-generator/

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

במקרה שלנו נראה שהקובץ נוצר במקום בו ציפינו להם /home/krel/.htpasswd. בתמונה הדגשתי כי בשיטה זו הקובץ שייך לקבוצת האפאצ'י ולמשתמש, אשר באובונטו מכונה www-data. זה חשוב מכיוון שאם יצרנו את .htpasswd בדרך אחרת, עלינו לוודא שיש לו 644 הרשאות.

ובכן, עכשיו נראה איך האומץ שלהם הוא:

כפי שאתה יכול לראות, יש את המשתמש (לוק) אך הסיסמה מוצפנת.

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

2. הגדר את תצורת אפאצ'י לשימוש ולהתיר שירות זה באתר.

# nano /etc/apache2/sites-available/default

אם יש לך כמה מארחים, עליהם לעבוד על כל אחד מהם, במקרה שלי יש לי רק את זה שמגיע כברירת מחדל. אל תשכח שתמיד טוב לעשות גיבוי של אותו קובץ.

לקובץ זה יש מבנה ברירת המחדל:

מנהל האתר של ServerAdmin @ localhost

..................

..................

בדיוק בכותרות של Virtualhost יוגדר השימוש ב- .htpasswd כדי לגשת לספריה מסוימת. אנו עושים זאת כאשר התמונה למטה מופיעה ומתאימה לדוגמא שלנו:

טוֹב. אני מסביר את השורות:

אתה צריך לשים את הספריה כדי להגן.

AuthType בסיסי

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

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

AuthName "נקיש על הדלת לפני הכניסה."

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

AuthUserFile /var/www/.pass/.htpasswd

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

דרוש משתמש חוקי

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

דרוש משתמש el_que_sea

בדוגמה שלי יכול להיות: דרוש משתמש לוק

ולבסוף אנחנו סוגרים הכל עם

אנו מפעילים מחדש את אפאצ'י:

# service apache2 restart

בוא ננסה.

אם לא נאמת כראוי נקבל שגיאה 401.

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

טיפים נוספים.

  • כדי להוסיף משתמשים נוספים לקובץ htpasswd שנוצר כבר תוכלו להשתמש בפקודה זו

htpasswd -mb /home/krel/.htpasswd סיסמת משתמש

אם הגדרת "דרוש משתמש" ולא "דרוש משתמש חוקי" עליך להוסיף את המשתמש החדש ואחריו הקודם ומופרד על ידי רווח. דוגמא:

דרוש מהמשתמש לוק אנאקין

  • השתמש בקבוצות משתמשים

אם במקום משתמשים בודדים אנו מעדיפים או צריכים לעבוד עם קבוצות באתר הבא הם מסבירים זאת בפירוט רב וזה מאמר מצוין.
http://www.juanfelipe.net/node/23

  • אנחנו יכולים גם להגדיר סוג אחר של הצפנה, למשל: SHA

htpasswd -sb /home/krel/.htpasswd סיסמת משתמש

להלן תמונה כיצד רישום סיסמת SHA יבוא לידי ביטוי ב-. Htpasswd. בשניהם זה היה "סקיווקר".

למידע נוסף.

htpasswd - -עזרה

אם אתה רוצה להעמיק בנושא זה, RTFM תמיד טוב!
http://httpd.apache.org/docs/2.0/es/howto/auth.html

http://httpd.apache.org/docs/2.2/misc/password_encryptions.html

סקריפט PHP זה מדף אוניברסיטת גרנדה גם היה סקרן בעיני ליצור מחולל htaccess ו- htpasswd. לא הצלחתי להוציא את זה לפועל אבל אני מזמין אותך "לחטט באינטליגנציה".

תבנית ה- HTML שקיבלתי מדף זה למקרה שמישהו מעוניין בכך.
http://www.templatemo.com/

מקווה שאהבתם את המצגת htpasswd הזו.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   קרל דיג'ו

    עכשיו כשאני קורא את הפוסט הבנתי שעשיתי בלגן קטן. כשאני מסביר את השורות בתצורת האתר, ב- AuthUserFile שמתי /var/www/.pass/.htpasswd מתי זה אמור להיות:
    /home/krel/.htpasswd.

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

    אני מתנצל מראש.

  2.   פרננדו דיג'ו

    כל אלטרנטיבה לנאוטילוס ??

    1.    קרל דיג'ו

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

      אם אני כנה אם משהו שאני שונא בגמד הוא נאוטילוס. Dolphin (KDE) הוא הרבה יותר חזק בדיוק לדברים האלה של הגנה, הצפנה עם gpg וכו '.

  3.   DMoZ דיג'ו

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

    לחיים !!! ...

  4.   חואן קרלוס דיג'ו

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

  5.   חבר דיג'ו

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

  6.   7 דיג'ו

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

    אלוהים יברך אותך!

  7.   מוהטאדי דיג'ו

    מזל טוב, זה מאמר טוב מאוד, ברור ועיכול. תודה רבה לך

  8.   אדוארדו דיג'ו

    זה נותן לי שגיאת 500 כאשר אני מזין את שם המשתמש והסיסמה

    AuthType בסיסי
    שם Auth "Tocc tocc"
    AuthUserFile /var/www/html/.pass/.htpasswd
    דרוש משתמש Akira

  9.   אדוארדו דיג'ו

    כמה נהדר שזה קורה לי להגיב בלי להסתכל על התגובות האחרות perodna.
    עובד פוסט נהדר נהדר

  10.   סומנוס סניור דיג'ו

    היי, הדרכה טובה, אבל האם יש אלטרנטיבה ל- "htpasswd"? אני שואל כי אני משתמש ב- Linux mint 17.3 ואין לי את הפקודה ... האם עלי להתקין אותו?

  11.   סומנוס סניור דיג'ו

    אוקיי, הבנתי את זה ... הייתי צריך להתקין אותו עם sudo apt-get install apache2-utils

  12.   פרננדו מונטילה דיג'ו

    שלום, הדרכה מעולה, עשיתי את זה בדיוק כפי שצוין כאן, הדבר היחיד הוא שבמקום לבצע את מה שמצוין בנקודה 2:

    nano / etc / apache2 / sites-available / default

    זה עבד לי עם

    ננו /etc/apache2/sites-enabled/000-default.conf

  13.   חורחה רודריגו טורז ארמאיו דיג'ו

    ברכות, זה לא עובד בשבילי folder התיקיה שלי לא מופיעה בשרת שלי, כלומר, הגנתי על תיקיית / var / 222 / html / content שלי, וכשאני נכנס מהדפדפן תיקיית התוכן לא מופיעה. עֶזרָה