Како да ги заштитиме нашите страници користејќи примери .htpasswd +

Од многу причини, може да биде многу корисно да имате контролиран пристап до одредени директориуми на веб-сервер или едноставно до содржината на нашата страница или блог со помош на услуга за автентикација заснована на корисничко име и лозинка. Зборувам за нешто како типичен прозорец што се појавува кога сакаме да влеземе во веб-страница со ограничени услуги.

Постојат неколку начини да се генерираат прозорци со форма за проверка, но е обезбедено интересно решение на ниво на сервер htpasswd. Тоа е алатка чија функција е складирање на лозинки во шифрирана форма што ќе ги користи Apache во услугите за проверка. Неговата употреба ќе ни овозможи да покажеме одредени директориуми или датотеки преку http само на идентификувани корисници и без нужно да бидат слободно достапни за секого.

Јас разбирам дека не е многу светкава тема, но може да биде корисна за некои. За да не ги убијам со досада, ќе користам слики за да го направам тоа подидактично.

Претходни размислувања: Јас ќе користам Ubuntu Server 12.04.1 y Апачи 2.2.22 во контролирана средина.

Почнуваме.

Како што некои веќе знаат, по дифолт, достапните страници на Apache се зачувани во директориумот / var / www / и за овој пример ќе креирам директориум со HTML-образец и ќе се обидам да го заштитам со .htpasswd.

Директориумот за заштита е / var / www / пример / каде што ја сместив следната страница.

На серверот Во прелистувачот

1. toе создадеме .htpasswd.

Местото каде што ќе се наоѓа е од значајно значење и ставањето надвор од јавен директориум може да биде повеќе од препорачаното. Во мојот случај, ќе го ставам во мојата лична папка (што не е јавен директориум на Apache) и со името .htpasswd (А приори не е потребно да се нарекува така, но оној што е скриен е секогаш добар).

За корисници нови на Linux. За да се скрие директориум или датотека, потребно е само да се започне неговото име со точка (.).

Со следнава команда ја креирам датотеката .htpasswd за веб-корисник што го именував како: „Лука“.

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

Usе побара од нас да ја снабдиме лозинката двапати, во мојот случај ставив „skywalker“ (без наводници). Во неконтролирано опкружување мора да воспоставиме посилни лозинки. Стандардната енкрипција на Linux е MD5, но на Unix е стандардна имплементација на криптата () и за лозинки со помалку од 8 карактери може да биде ранлива. Сега се сомневам дали е исто и во БСД.

Командата ја има оваа структура:

  • -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. Конфигурирајте го Apache да ја користи и дозволувајте ја таа услуга на страницата.

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

 

Ако имате неколку домаќини, тие мора да работат на секој од нив, во мојот случај го имам само оној што доаѓа стандардно. Не заборавајте дека секогаш е добро да направите резервна копија од таа датотека.

Таа датотека има стандардна структура:

ServerAdmin веб-администратор @ localhost

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

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

Токму во рамките на насловите на Виртуелна куќа ќе биде одредена употреба на .htpasswd за пристап до одреден директориум. Ние го правиме тоа како што се појавува сликата подолу и соодветна на нашиот пример: Добро Јас ги објаснувам линиите:

Мора да го ставите директориумот за да се заштити.

AuthType Basic

Тоа е тип на корисник и лозинка за преговарач со прелистувачот, во овој случај тоа е основно, без криптирање.

Постои и друг вид преговори: 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 скрипта curубопитна од страницата на Универзитетот во Гранада да создадам генератор на htaccess и htpasswd. Не успеав да го применам во пракса, но ве поканувам да „pryубите со интелигенција“.

Шаблонот HTML го добив од оваа страница во случај некој да биде заинтересиран.
http://www.templatemo.com/

Се надевам дека ви се допадна оваа презентација на htpasswd.


Содржината на статијата се придржува до нашите принципи на уредничка етика. За да пријавите грешка, кликнете овде.

14 коментари, оставете ги вашите

Оставете го вашиот коментар

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени со *

*

*

  1. Одговорен за податоците: Мигел Анхел Гатон
  2. Цел на податоците: Контролирајте СПАМ, управување со коментари.
  3. Легитимација: Ваша согласност
  4. Комуникација на податоците: Податоците нема да бидат соопштени на трети лица освен со законска обврска.
  5. Складирање на податоци: База на податоци хостирани од Occentus Networks (ЕУ)
  6. Права: Во секое време можете да ги ограничите, вратите и избришете вашите информации.

  1.   крел dijo

    Сега повторно читајќи ја објавата, сфатив дека направив мал хаос. Кога ќе ги објаснам линиите во конфигурацијата на страницата, во AuthUserFile ставам /var/www/.pass/.htpasswd кога треба:
    /дома/крел/.htpasswd.

    На сликата е добро, но таму ми избега, тоа е што претходно ја направив статијата со таа рута, но во последен момент ја сменив и се чини дека пропуштив да ја коригирам.

    Се извинувам однапред.

  2.   Фернандо dijo

    Некоја алтернатива за наутилус ??

    1.    крел dijo

      Она што го прашувате мислам дека оди на друг начин, но во секој случај ви одговарам.
      Верувам дека со Cryptkeeper би било корисно да се заштитат директориумите и слични работи.

      Ако сум искрен ако нешто што мразам во врска со gnome е nautilus. Делфинот (KDE) е многу помоќен токму за овие работи на заштита, криптирање со gpg, итн ...

  3.   DMoZ dijo

    Крел, благодарам за целосните упатства што ги донесовте овде и особено што не беа толку вообичаени теми ...

    На здравје !!! ...

  4.   Хуан Карлос dijo

    Здраво, сè мина добро, но .. кога ќе го затворам јазичето хром и отворам друг, ја пишувам адресата и не ми ја бара лозинката ...

  5.   другар dijo

    кој рече дека не е светкаво.
    Тоа беше само она што го барав, и подобро објасни невозможно
    Благодарам многу.
    поздрав

  6.   баско7 dijo

    Здраво, многу ви благодарам за информациите, особено за делот за додавање на повеќе корисници во .htpasswd.

    Бог да ве благослови!

  7.   Мохтади dijo

    Честитки, тоа е многу добра статија, јасна и сварлива. Ви благодарам многу

  8.   Едуардо dijo

    Ми дава грешка од 500 кога внесувам корисничко име и лозинка

    AuthType Basic
    AuthName "Tocc tocc"
    AuthUserFile /var/www/html/.pass/.htpasswd
    Потребен е корисник Акира

  9.   Едуардо dijo

    Колку е убаво тоа што ми се случува за коментар без да ги погледнам другите коментари за перодна.
    Работи одлично одлично објавување

  10.   Сомнус сениор dijo

    Здраво, добро упатство, но дали постои алтернатива на „htpasswd“? Прашувам зошто користам linux mint 17.3 и немам команда… дали мора да ја инсталирам?

  11.   Сомнус сениор dijo

    Добро, сфатив ... морав да го инсталирам со sudo apt-get install apache2-utils

  12.   Фернандо Монтила dijo

    Здраво, одлично упатство, го сторив тоа точно како што е наведено овде, единственото нешто е што наместо да го извршувам она што е наведено во точка 2:

    nano / etc / apache2 / sites-available / default

    Работеше за мене со

    нано /etc/apache2/sites-enabled/000-default.conf

  13.   Хорхе Родриго Торез Арамајо dijo

    Поздрав, не ми одговара 🙁 папката не се појавува на мојот сервер, односно ја заштитив папката / var / 222 / html / содржина и кога ќе влезам од прелистувачот, папката со содржина не се појавува. Помош