Author: qwiat
Date: Wed Oct 25 22:59:31 2006
New Revision: 7895

Modified:
   PLD-doc/book/pl_book__uslugi/pl_uslugi__apache.sec
Log:
- przepisanie rozdzialu o autoryzacji


Modified: PLD-doc/book/pl_book__uslugi/pl_uslugi__apache.sec
==============================================================================
--- PLD-doc/book/pl_book__uslugi/pl_uslugi__apache.sec  (original)
+++ PLD-doc/book/pl_book__uslugi/pl_uslugi__apache.sec  Wed Oct 25 22:59:31 2006
@@ -253,67 +253,78 @@
                </para>
        </section>
        <section id="uslugi_apache_auth">
-               <title>Autoryzacja</title>
-               <para>Apache udostępnia również mechanizm autoryzacji. Często 
używany jest aby
-                       wyodrębnić z serwisu pewną część przeznaczoną dla  
upoważnionych 
-                       użytkowników. Uprawnienia działają na poziomie 
katalogów. Nie można w ten
+               <title>Ograniczenie dostępu za pomocą loginu i hasła</title>
+               <para>
+                       Apache udostępnia mechanizm autoryzacji, który używany 
jest do
+                       wyodrębnienia z serwisu pewnej części przeznaczonej dla 
upoważnionych 
+                       użytkowników. Ograniczenie działa na poziomie katalogów 
i nie można w ten
                        sposób chronić poszczególnych plików. Jeżeli 
potrzebujesz chronić jedynie
                        jeden lub kilka plików, stwórz w obrębie strony katalog 
o dowolnej nazwie
                        i umieść je w nim. Oczywiście musisz pamiętać o 
przekonstruowaniu 
-                       linków na stronie.</para>
-               <para>Zanim przystąpimy do konfiguracji musimy zainstalować 
pakiet o nazwie
-                       <literal>apache-mod_auth</literal>. Zawiera on  
polecenie 
-                       <command>htpasswd</command>, które służy do 
wygenerowania pliku z nazwą
-                       użytkownika oraz hasłem, które go identyfikuje. Nie ma 
żadnej konwencji
-                       nazewnictwa, jednak zalecam ze względów bezpieczeństwa 
aby plik z hasłem
-                       zaczynał się od ciągu znaków: <emphasis>.ht</emphasis>, 
tak jak to zostało
-                       zdefiniowane 
w:</para><para><filename>/etc/httpd/httpd.conf/10_httpd.conf</filename>.
-               </para>
-               <screen>#
-# The following lines prevent .htaccess and .htpasswd files from being
-# viewed by Web clients.
-#
-&lt;Files ~ "^\.ht"&gt;
-    Order allow,deny
-    Deny from all
-&lt;/Files&gt;</screen>
-<para>Musimy określić katalog przechowywania dla tych plików. Oczywiście 
powinien on być 
-       osiągalny z poziomu użytkownika <literal>http</literal> na którym 
pracuje apache. Możemy
-       je trzymać w <filename 
class="directory">/home/services/httpd</filename>. Przystępujemy
-       do generowania.</para>
-<screen># htpasswd -c /home/services/httpd/.htdostep jan
-New password:
-Re-type new password:
-Adding password for user jan
-</screen>
-<para>W tym miejscu zostaliśmy poproszeni o wpisanie hasła oraz jego 
potwierdzenie. Jeżeli wszystko
-       się zgadza, dostaniemy informację taką jak w powyższym 
przykładzie.</para>
-<para>Nazwa użytkownika jest przechowywana w formie jawnej, natomiast hasło 
zostało zaszyfrowane.
-</para>
-<screen># cat /home/services/httpd/.htdostep
-jan:SAEWgAGl6fzFY</screen>
-<para>Należy ustawić odpowiednie prawa dostępu do tego pliku.</para>
-<screen># chmod 600 /home/services/httpd/.htdostep
-# chown http.http /home/services/httpd/.htdostep</screen>
-<para>W ten oto sposób dajemy możliwość zapisu i odczytu użytkownikowi 
<literal>http</literal> do 
-       <filename>.htdostep</filename>. Pozostaje nam jeszcze zdefiniowanie 
który katalog będziemy
-       chronić. Należy w tym celu wyedytować główny plik konfiguracyjny 
apache:</para>
-       <para><filename>/etc/httpd/httpd.conf/10_httpd.conf</filename></para>
-       <para>Powinniśmy zdefiniować
-       katalog, który będziemy chronić. Robimy to sposobem przedstawionym 
poniżej</para>
+                       linków na stronie.
+               </para>
+               <para>
+                       Apache wspiera wiele rodzajów źródeł 
uwierzytelniających:
+                       pliki tekstowe, konta systemowe, bazy LDAP i
+                       inne. My będziemy zajmować się autoryzacją za pomocą
+                       plików tekstowych, ze względu na popularność i prostotę
+                       tego rozwiązania.
+                       Istnieją dwa protokoły przesyłania hasła
+                       <literal>Basic</literal> i <literal>Digest</literal>
+                       (w postaci skrótu). Metoda Digest jest bezpieczniejsza
+                       jednak praktycznie nie jest obsługiwana przez
+                       przeglądarki WWW, tak więc pozostaje nam używanie
+                       metody Basic.
+               </para>
+               <para>
+                       Zaczynamy od instalacji metapakietu 
<literal>apache-mod_auth</literal>
+                       oraz pakietu <literal>htpasswd-apache</literal>.
+                       Teraz dodajemy do któregoś z plików konfiguracji
+                       regułkę chroniącą katalog :
 <screen>&lt;Directory "/home/users/jan/public_html/private"&gt;
-        Options Indexes FollowSymLinks Multiviews
         AuthType Basic
+       AuthBasicProvider file
        AuthName "Witaj Janie, zaloguj sie."
-       AuthUserFile /home/services/httpd/.htdostep
+       AuthUserFile /home/services/httpd/.htpasswd
         Require valid-user
-&lt;/Directory&gt;
-</screen>
-<para>Aby ten wpis mógł zadziałać powinien być umieszczony w obrębie sekcji 
-       <literal>'Main' server configuration</literal>. Po zakończeniu edycji 
należy zrestartować
-       demona poleceniem</para>
-<screen># /etc/rc.d/init.d/httpd restart</screen>
+&lt;/Directory&gt;</screen>
+                       Opcja <option>AuthUserFile</option> wskazuje plik z
+                       loginami i hasłami użytkowników, jak widać ścieżka ta
+                       jest inna niż chroniony katalog ze względów 
bezpieczeństwa.
+                       Opcja <option>Require</option> określa jacy użytkownicy
+                       są akceptowani - tutaj każdy autoryzowany.
+               </para>
+               <para>
+                       Teraz tworzymy plik z hasłami, poprzez dodanie 
pierwszego konta:
+<screen># htpasswd -c /home/services/httpd/.htdostep jan
+New password:
+Re-type new password:
+Adding password for user jan</screen>
+                       Plikowi ustawiamy odpowiednie uprawnienia i własność,
+                       aby dostęp do niego miał wyłącznie użytkownik 
<literal>http</literal>:
+<screen># chmod 600 /home/services/httpd/.htpasswd
+# chown http.http /home/services/httpd/.htpasswd</screen>
+               </para>
+               <para>
+                       Po restarcie każde odwołanie do katalogu będzie wymagało
+                       podania loginu <emphasis>jan</emphasis> i hasła. 
Istnieje
+                       także możliwość dodania obsługi grup - mechanizmu
+                       zbliżonego działaniem do uniksowych grup systemowych.   
                
+               </para>
+               <para>
+                       W wielu wypadkach będziemy chcieli dać możliwość
+                       użytkownikom tworzenia plików z hasłami z wraz z
+                       plikami <filename>.htaccess</filename> w katalogu
+                       określonym przez <option>DocumentRoot</option>. Stanowi
+                       to zagrożenie bezpieczeństwa, ze względu na możliwość
+                       wyświetlenia zawartości tych plików. Możemy się
+                       zabezpieczyć przed tym instalując pakiet
+                       <literal>apache-mod_authz_host</literal>,
+                       dzięki któremu m.in. nie zostaną wysłane do przeglądarki
+                       pliki <literal>.ht*</literal>
+               </para>
        </section>
+
        <section id="uslugi_apache_php">
                <title>Obsługa skryptów PHP</title>
                <para>
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to