Kā aizsargāt mūsu vietnes, izmantojot .htpasswd + piemērus

Daudzu iemeslu dēļ var būt ļoti noderīgi kontrolēta piekļuve dažiem tīmekļa servera direktorijiem vai vienkārši mūsu lapas vai emuāra saturam, izmantojot autentifikācijas pakalpojumu, kura pamatā ir lietotājvārds un parole. Es runāju par kaut ko līdzīgu tipiskajam logam, kas parādās, kad mēs vēlamies iekļūt vietnē ar ierobežotiem pakalpojumiem.

Ir vairāki veidi, kā ģenerēt logus ar autentifikācijas veidlapu, taču tiek piedāvāts interesants risinājums servera līmenī htpasswd. Tā ir utilīta, kuras funkcija ir paroļu glabāšana šifrētā formā, kuru Apache izmanto autentifikācijas pakalpojumos. Tā izmantošana ļautu mums, izmantojot http, parādīt noteiktus direktorijus vai failus tikai identificētiem lietotājiem un ne vienmēr būt brīvi visiem pieejams.

Es saprotu, ka tā nav ļoti uzkrītoša tēma, bet dažiem tā var būt noderīga. Lai viņus nenogalinātu ar garlaicību, es izmantošu attēlus, lai padarītu to didaktiskāku.

Iepriekšējie apsvērumi: es izmantošu Ubuntu serveris 12.04.1 y Apache 2.2.22 kontrolētā vidē.

Mēs sākam.

Kā daži jau var zināt, pēc noklusējuma pieejamās Apache vietnes tiek saglabātas direktorijā / var / www / un šajā piemērā es izveidošu direktoriju ar HTML veidni un mēģināšu to pasargāt ar .htpasswd.

Aizsargājamais direktorijs ir / var / www / example / kur esmu ievietojis nākamo lapu.

Uz servera

Pārlūkprogrammā

1. Mēs gatavojamies izveidot .htpasswd.

Vietai, kur tā atradīsies, ir būtiska nozīme, un tās ievietošana ārpus publiskā direktorija var būt vairāk nekā ieteicama. Manā gadījumā es to ievietošu personiskajā mapē (kas nav publisks Apache direktorijs) un ar nosaukumu .htpasswd (A priori to nevajag tā saukt, bet slēptais vienmēr ir labs).

Lietotājiem, kas ir jauni Linux. Lai paslēptu direktoriju vai failu, tā nosaukums jāsāk tikai ar punktu (.).

Ar šādu komandu es izveidoju .htpasswd failu tīmekļa lietotājam, kuru esmu nosaucis kā "Luke".

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

Tā lūgs mums divreiz ievadīt paroli, manā gadījumā esmu ievietojis "skywalker" (bez pēdiņām). Nekontrolētā vidē mums ir jāizveido stingrākas paroles. Linux noklusējuma šifrēšana ir MD5, bet Unix ierīcē tā ir standarta kriptēšanas () ieviešana, un parolēm ar mazāk nekā 8 rakstzīmēm tā var būt neaizsargāta. Tagad man ir šaubas, vai tas pats ir BSD.

Komandai ir šāda struktūra:

  • -c → lai izveidotu failu
  • /home/krel/.htpasswd → faila absolūtais ceļš.
  • Lūks → lietotājvārds (tas var būt jebkurš, ko vēlaties)

Tāpat es nevienu nelieku izmantot termināli, ja tam ir pakalpojumi internetā:
http://www.web2generators.com/apache/htpasswd_generator

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

Rezultātu mēs kopējam teksta failā un, ja vēlaties, ar nosaukumu .htpasswd. Attiecībā uz šo metodi nepārtrauciet lasīt to, ko es komentēju nākamajā rindkopā.

Mūsu gadījumā mēs redzēsim, ka fails ir izveidots tur, kur mēs tos gaidījām /home/krel/.htpasswd. Attēlā esmu uzsvēris, ka ar šo metodi fails pieder apache grupai un lietotājam, kuru Ubuntu sauc par www-data. Tas ir svarīgi, jo, ja .htpasswd esam izveidojuši citādā veidā, mums jāpārliecinās, vai tam ir 644 atļaujas.

Nu, tagad mēs redzēsim, kā viņiem ir iekšas:

Kā redzat, ir lietotājs (Luke), bet parole ir šifrēta.

Tādā veidā mēs jau esam izveidojuši un izstrādājuši .htpasswd lietotājam Luke, galu galā tas ir nekas cits kā konteiners parolei. "Viss ar vienu komandu" būtu laba saikne.

2. Konfigurējiet Apache, lai tā izmantotu un atļautu šo pakalpojumu vietnē.

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

Ja jums ir vairāki resursdatori, viņiem vajadzētu strādāt pie katra no tiem, manā gadījumā man ir tikai tas, kurš nāk pēc noklusējuma. Neaizmirstiet, ka vienmēr ir labi izveidot šī faila dublējumu.

Šim failam ir noklusējuma struktūra:

ServerAdmin tīmekļa pārzinis @ localhost

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

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

Tieši Virtualhost virsrakstos tiks norādīta .htpasswd izmantošana, lai piekļūtu noteiktam direktorijam. Mēs to darām tā, kā parādās zemāk redzamais attēls un piemērots mūsu piemēram:

Labi. Es izskaidroju rindas:

Lai aizsargātu, jums jāievieto direktorijs.

AuthType Basic

Tas ir lietotāja veids un parole, par kuru ir panākta vienošanās ar pārlūku, šajā gadījumā tas ir Basic, bez šifrēšanas.

Ir vēl viens sarunu veids: Digest, šis šifrē lietotājvārdu un paroli, tomēr pēdējais vārds ir pārlūks par to, vai tas atbalsta minēto pakalpojumu. Digest var teikt, ka tā ir nedaudz spēcīgāka ieviešana pret sniffers. Es aicinu jūs tajā iedziļināties.

AuthName "Pirms ieiešanas klauvē pie durvīm".

Tas ir ziņojums, kas lietotājam parādīsies pārlūkprogrammā ar pieteikšanās veidlapu, un tas var būt vēlamais.

AuthUserFile /var/www/.pass/.htpasswd

Ceļš .htpasswd failā. Šī iemesla dēļ es saku, ka pat nav nepieciešams to nosaukt .htpasswd, vienkārši liekot ceļu, tas darbosies tāpat.

Pieprasīt derīgu lietotāju

Šī līnija ir paredzēta vairākiem lietotājiem ar individualizētām parolēm. Ja tas ir viens lietotājs, to var apkopot kā šādu variantu.

Nepieciešama lietotāja el_que_sea

Manā piemērā varētu būt: Nepieciešams lietotājs Luke

Un visbeidzot mēs visu norobežojam ar

Mēs restartējam apache:

# service apache2 restart

Pamēģināsim.

Ja mēs nepareizi autentificējamies, mēs saņemsim kļūdu 401.

Pretējā pusē, ja mēs ievietotu pareizu lietotājvārdu un paroli, tas ļautu mums iziet bez lielām neērtībām.

Papildu padomi.

  • Lai pievienotu vairāk lietotāju jau izveidotam htpasswd failam, varat izmantot šo komandu

htpasswd -mb /home/krel/.htpasswd lietotāja parole

Ja esat iestatījis “Pieprasīt lietotāju”, nevis “Pieprasīt derīgu lietotāju”, jums jāpievieno jaunais lietotājs, kam seko iepriekšējais un atdalīts ar atstarpi. Piemērs:

Nepieciešams lietotājs Lūks Anakins

  • Izmantojiet lietotāju grupas

Ja atsevišķu lietotāju vietā mēs dodam priekšroku vai mums ir jāstrādā ar grupām šajā vietnē, viņi to ļoti detalizēti izskaidro, un tas ir lielisks raksts.
http://www.juanfelipe.net/node/23

  • Mēs varam iestatīt arī citu šifrēšanas veidu, piemēram: SHA

htpasswd -sb /home/krel/.htpasswd lietotāja parole

Šeit ir attēls, kā SHA paroles reģistrācija tiktu atspoguļota .htpasswd. Abos tas bija "skywalker".

Uzziniet vairāk.

htpasswd - -palīdzība

Ja vēlaties iedziļināties šajā tēmā, RTFM vienmēr ir laba!
http://httpd.apache.org/docs/2.0/es/howto/auth.html

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

Arī šis PHP skripts no Granadas universitātes lapas man ir bijis ziņkārīgs, lai izveidotu htaccess un htpasswd ģeneratoru. Man nav izdevies to pielietot praksē, bet es aicinu jūs "izlūkoties ar inteliģenci".

HTML veidne, ko es saņēmu no šīs lapas, ja kāds ir ieinteresēts.
http://www.templatemo.com/

Ceru, ka jums patika šī htpasswd prezentācija.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   krels teica

    Tagad atkal lasot ierakstu, esmu sapratis, ka esmu uztaisījis nelielu putru. Kad es izskaidroju vietnes konfigurācijas rindas, AuthUserFile es ievietoju /var/www/.pass/.htpasswd, kad tam vajadzētu būt:
    /home/krel/.htpasswd.

    Attēlā tas ir labi, bet tur tas mani aizbēga, tas ir, ka es jau iepriekš biju izveidojis rakstu ar šo maršrutu, bet pēdējā brīdī es to mainīju un šķiet, ka es to nokavēju.

    Es jau iepriekš atvainojos.

  2.   Fernando teica

    Jebkura alternatīva nautilusam ??

    1.    krels teica

      Tas, ko jūs jautājat, es domāju, ka notiek citā veidā, bet es jums tomēr atbildu.
      Es uzskatu, ka ar Cryptkeeper būtu lietderīgi aizsargāt direktorijus un tamlīdzīgas lietas.

      Ja es esmu godīgs, ja kaut kas, ko es ienīstu par rūķi, ir nautilus. Delfīns (KDE) ir daudz jaudīgāks tieši šādām lietām: aizsardzība, šifrēšana ar gpg utt.

  3.   DMoZ teica

    Krel, paldies par visām šeit sniegtajām apmācībām un it īpaši par to, ka tās nav tik izplatītas tēmas ...

    Priekā !!! ...

  4.   Huans Karloss teica

    Sveiki, viss izdevās labi, bet .. kad aizveru hroma cilni un atveru vēl vienu, es uzrakstu adresi un tā neprasa paroli ...

  5.   draugs teica

    kurš teica, ka tas nebija bezgaumīgi.
    Tas bija tikai tas, ko es meklēju, un labāk izskaidrojams neiespējami
    Liels paldies.
    sveiciens

  6.   basco7 teica

    Sveiki, es jums liels paldies par informāciju, it īpaši to daļu, kas saistīta ar vairāku lietotāju pievienošanu .htpasswd.

    Lai Dievs tevi svētī!

  7.   Mohtadi teica

    Apsveicu, tas ir ļoti labs, skaidrs un sagremojams raksts. Liels tev paldies

  8.   eduardo teica

    Ievadot lietotājvārdu un paroli, man tiek parādīta kļūda 500

    AuthType Basic
    AuthName "Tocc tocc"
    AuthUserFile /var/www/html/.pass/.htpasswd
    Pieprasīt lietotājam Akira

  9.   eduardo teica

    Cik lieliski, ka ar mani notiek komentēšana, neskatoties uz citiem komentāriem perodna.
    Lieliski darbojas lieliski

  10.   Somnus vecākais teica

    Sveiki, laba apmācība, bet vai ir alternatīva "htpasswd"? Es jautāju, kāpēc es izmantoju Linux mint 17.3, un man nav komandas ... vai man tas ir jāinstalē?

  11.   Somnus vecākais teica

    Labi, es to sapratu ... Man tas bija jāinstalē ar sudo apt-get install apache2-utils

  12.   Fernando Montilla teica

    Sveiki, lieliska apmācība, es to izdarīju tieši tā, kā norādīts šeit, vienīgais ir tas, ka tā vietā, lai izpildītu 2. punktā norādīto:

    nano / etc / apache2 / sites-available / default

    Tas man derēja

    nano /etc/apache2/sites-enabled/000-default.conf

  13.   Horhe Rodrigo Toress Aramajo teica

    Sveicināti, man tas nedarbojas 🙁 mana mape neparādās manā serverī, tas ir, es aizsargāju savu mapi / var / 222 / html / content, un, ieejot no pārlūkprogrammas, satura mape neparādās. Palīdzība