ot blockSend(23-05-2000)

reiting (24)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Sigurnost
- mahane na optsiiata FollowSymLinks
- ogranichavane na dostupa po IP
- ogranichavane na dostupa po ime/parola
- kombinirane na ogranichavaneto na dostupa po IP i ime/parola
- dobaviane na prazen index.html fail
- zashto vsichko tova mozhe da e naprazno

 

Apache Web Server predlaga mnozhestvo nachini da se zashtiti sudurzhanieto na dadena informatsiia na survura ot natrapnitsi. Za da se razreshat za izpolzvane povecheto ot optsiite za uvelichavane na sigurnosta v Apache te triabva da sa predvaritelno dobaveni v osnovniia konfiguratsionen fail na survura httpd.conf. Imaite predvid, che ako pravite promeni vuv tozi fail triabva da restartirate survura, za da se zaredi novata konfiguratsiia. Tova stava chrez programata, namirashta se v bin direktoriiata na survura - apachectl s optsiia restart. t.e

./apachectl restart

Ili s komandata:

killall -HUP httpd

Proverka za tova dali e pravilna konfiguratsiiata mozhete da napravite sus slednata komanda:

./apachectl configtest

Optsiite v zavisimost ot tova kude sa napisani imat i razlichen obseg na deistvie. Eto i niakoi ot po-vazhnite oblasti:

Ako sa napisani v .htaccess fail te sa validni samo za direktoriiata, v koiato se namira failut i neinite poddirektorii
Ako sa napisani v httpd.conf faila, no sa zagradeni s <VirtualHost></VirtualHost> tagove, sa validni samo za virtualen host
Ako sa napisani v httpd.conf faila, no sa zagradeni s <Directory></Directory> tagove, sa validni samo za dadena direktoriia
Ako sa napisani v httpd.conf faila i ne sa zagradeni s niakakvi tagove, togava vazhat za tseliiat survur

Da zapochvame s konfiguriraneto.

- mahane na optsiiata FollowSymLinks

Ako ne e absolyutno nalozhitelno da prisustva tazi optsiia v konfiguratsiiata na vashiiat survur ia mahnete. S neia mozhete da imate samo problemi. Ili po-dobre ia razreshete samo za direktoriiata, za koiato tova e absolyutno nalozhitelno.

- ogranichavane na dostupa po IP

Za da mozhete da ogranichavate dostupa po IP triabva v http.conf faila da e zadadena slednata direktiva:

AllowOverride Limit

Ako ia zagradite v tagove, tia shte vazhi SAMO za konkretniia virtualen host. Ako ia zagradite v tia shte vazhi SAMO za direktoriiata, koiato e posochena v tagovete i vsichki neini poddirektorii. Mozhe bi veche se doseshtate, che ako ne ia ogradite v niakakvi tagove tia shte vazhi za tseliia survur.


Ako iskate da zashtitite dadena direktoriia da e dostupna samo za niakoe IP dobavete faila .htaccess v direktoriiata, koiato iskate da zashtitite i napishete slednoto:

order deny, allow
deny from all
allow from IP_TO

kato zamenite IP_TO s IP adresa, koito iskate da ima dostup do tazi direktoriia. Ako iskate, naprimer, samo IP nomer 212.0.0.1 da dostupva direktoriiata, napishete:

order deny, allow
deny from all
allow from 212.0.0.1

Osven pulen IP adres, mozhete da zadadete chastichen IP adres. Ako zadadete sledniia IP adres 212.0.0. -- tova znachi, che vsichki IP adresi, koito zapochvat s IP 212.0.0. mogat da dostupiat direktoriiata. Primeri za IP adresi, koito izpulniavat tova uslovie sa: 212.0.0.12, 212.0.0.23.

Ot goliama vazhnost e direktivata order. Tia instruktira Apache-to za reda, po koito triabva da se obrabotiat deny i allow direktivite. Vizhte rezultatite ot slednite primeri:

order deny, allow
deny from all
allow from 212.0.0.1

Rezultat: samo IP adres 212.0.0.1 ima dostup do tazi direktoriia,

order allow, deny
deny from all
allow from 212.0.0.1

Rezultat: nikoe IP niama dostup do tazi direktoriia.

Zashto se poluchi taka pri vtoriia primer? Tochno zaradi direktivata order. Purvo razreshihme na IP adres 212.0.0.1 da ima dostup do direktoriiata, sled koeto zabranihme na vsichki IP-ta da imat dostup. V rezultat nikoe IP niama dostup. Ne e vazhna posledovatelnosta na redovete, zapochvashti s deny from i allow from; vazhna e posledovatelnostta, zadadena s direktivata order.

- ogranichavane na dostupa po ime/parola

Dosta chesto se sluchva da iskame da ogranichim dostupa do niakoia direktoriia s ime i parola, a ne po IP. Za tazi tsel triabva v konfiguratsionniia fail na Apache survura http.conf da e zadadena slednata direktiva:

AllowOverride AuthConfig

Neka probvame da zashtitim nashata direktoriia data. Iskame tia da e dostupna samo s ime i parola. Za tazi tsel v direktoriiata data triabva da suzdadem dva faila - .htaccess i .htpasswd. Vuv .htpasswd failut shte suhraniavame potrebitelskite imena i parolite. V .htaccess faila imame slednite redove:

AuthName "Zashtitena Direktoriq"
AuthType Basic
AuthUserFile .htpasswd
require valid-user

Neka da razgledame edin primeren .hpasswd fail:

test:dsSDvxc32440ztb5vmb
user:c3244dsSDb5vvx0ztYz

Vseki red predstavliava ime na potrebitel(test), dve tochki(:), i kriptiranata Vi parola(dsSDvxc32440ztb5vmb). Tozi fail e tekstovi, kakto i .htaccess failut, no parolata, koiato zadavate triabva da e kriptirana. Koeto znachi, che ako napishete sledniia red:

user1:nopassword

potrebitel user1 niama da mozhe da vleze s parola nopassword. Ima i nachin da napravite taka, che Apache-to da ne iska parolite da sa kriptirani, no nie govorim tuk za tova kak da napravim sistemata po-sigurna, a ne po-nesigurna.

Kak da dobavite potrebitel s parola kum .htpasswd fail?

Nachin 1: Mozhe da go napravite s programkata htpasswd koiato se namira v bin direktoriiata na Apache. Eto i edin primer:

/www/bin/htpasswd -b /www/htdocs/user1/data/.htpasswd user password

Programata /www/bin/htpasswd suzdava vuv faila /www/htdocs/user1/data/.htpasswd potrebitel s ime user i parola password.

Nachin 2: Drug nachin e da izpolzvate standartnata crypt funktsiia na vashiia Linux. Mozhete da napishete slednoto neshto ot komandniia red:

perl -e "print crypt(\"password\",\"sl\")"

Rezultatut e "sl0N1Oj5JS0pw" - koeto e kriptiranata parola password. Ot Vas se iziskva da redaktirate faila .htpasswd i da dobavite sledniia red:

user:sl0N1Oj5JS0pw

Sega veche imame potrebitel s ime user i parola password

- kombinirane na ogranichavaneto na dostupa po IP i ime/parola

Ako iskate da ogranichite dostupa do dadena direktoriia kombinirano po IP i parola, mozhete da dobavite slednoto vuv Vashiia .htaccess fail:

order deny, allow
deny from all
allow from 212.0.0.

AuthName "Zashtitena Direktoriq"
AuthType Basic
AuthUserFile .htpasswd
require valid-user

Kato predi tova vuv Vashiia httpd.conf fail ste dobavili sledniia red:

AllowOverride AuthConfig Limit

Po tozi nachin pozvoliavate samo na potrebiteli s IP adresi, zapochvashti s 212.0.0. i imashti potrebitelsko ime i parola v .htpasswd faila da dostupvat zashtitenata direktoriia.

- dobaviane na prazen index.html fail

Za da se chustvame oshte po-sigurni mozhem da dobavim i fail s ime index.html, sus slednoto sudurzhanie:



Po tozi nachin vseki, koito uspee da vleze v zashtitenata direktoriia triabva da znae tochno imeto na faila, koito iska da vidi.

- zashto vsichko tova mozhe da e naprazno?

Ochakvaite produlzhenieto na statiiata, za da razberete zashto vsichki tezi predpazni merki mogat da se okazhat naprazni.



<< Pisane na skriptove za BASH shel : versiia 1.2( chast 4) | Instalirane na zvukova karta ruchno(po-spets. Yamaha 719) >>