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.
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).
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.
- -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:
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.
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.
Jebkura alternatīva nautilusam ??
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.
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ā !!! ...
Sveiki, viss izdevās labi, bet .. kad aizveru hroma cilni un atveru vēl vienu, es uzrakstu adresi un tā neprasa paroli ...
kurš teica, ka tas nebija bezgaumīgi.
Tas bija tikai tas, ko es meklēju, un labāk izskaidrojams neiespējami
Liels paldies.
sveiciens
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ī!
Apsveicu, tas ir ļoti labs, skaidrs un sagremojams raksts. Liels tev paldies
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
Cik lieliski, ka ar mani notiek komentēšana, neskatoties uz citiem komentāriem perodna.
Lieliski darbojas lieliski
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ē?
Labi, es to sapratu ... Man tas bija jāinstalē ar sudo apt-get install apache2-utils
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
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