From 0ddcb259371611c96bdce6babd146ee977420d1d Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Tue, 12 May 2009 13:15:30 +0200 Subject: [PATCH] Apache authconfig --- servizi.html | 226 ++++++++++++++++++++++++++++----------------- source/servizi.txt | 39 ++++++-- 2 files changed, 172 insertions(+), 93 deletions(-) diff --git a/servizi.html b/servizi.html index 1c57465..6a69653 100644 --- a/servizi.html +++ b/servizi.html @@ -463,31 +463,34 @@ "#limiti-su-base-ip" id="id31" name= "id31">3.6.1   Limiti su base ip - -
  • 3.6.2   User - Authentication
  • -
  • 3.7   Definire la - cartella
  • +
  • + 3.7   User Authentication -
  • 3.8   Creazione del database - delle passwords
  • + +
  • 3.10   Cavets
  • + "id36" name="id36">3.8   Cavets @@ -1595,80 +1598,134 @@ php5-pgsql phppgadmin "pre">GET per cercare di mandare in Denial Of Service il webserver.

    - -
    -

    3.6.2   User - Authentication

    - -

    A volte conviene negoziare gli accessi ad un area di - un sito tramite autenticazione basata sull'accopiata - nome utente / password. Questo puo' venire utile - per creare una area download intranet, alla - quale possano accedere solo gli utenti previsti a - prescindere dagli indirizzi IP dei loro client. Per - quanto esistano soluzioni piu' granulari e sofisticate - per ottenere questo, mod-auth puo'essere - sufficente. E mod auth non richiede l'installazione di - software aggiuntivi.

    - -

    link: http://www.apacheweek.com/features/userauth

    -
    -
    +

    3.7   Definire la cartella

    + "#id32">3.7   User Authentication + +

    A volte conviene negoziare gli accessi ad un area di un + sito tramite autenticazione basata sull'accopiata nome + utente / password. Questo puo' venire utile per creare + una area download intranet, alla quale possano + accedere solo gli utenti previsti a prescindere dagli + indirizzi IP dei loro client. Per quanto esistano soluzioni + piu' granulari e sofisticate per ottenere questo, + mod-auth puo'essere sufficente. E mod auth non + richiede l'installazione di software aggiuntivi.

    + +

    link: http://www.apacheweek.com/features/userauth

    + +
    +

    3.7.1   Definire la + cartella

    -

    Decidere quale sara' il path della cartella da - sottoporre ad autentizazione:(e creiamo la cartella):

    +

    Decidere quale sara' il path della cartella + da sottoporre ad autentizazione:(e creiamo la + cartella):

    -
    - mkdir /var/www/177.piffa.net/privata -
    -
    +
    + mkdir /var/www/177.piffa.net/privata +
    +
    -
    -

    3.8   Creazione del database delle - passwords

    - -

    Un modo semplice per gestire una database di user-id - / passwords e' appoggiarsi all'utility htpasswd - di Apache. Questa crea un file in cui un crypt - delle password viene associato agli utenti.

    - -

    Si dovra' decidere dove tenere questo file, la cosa - importante e' che non sia disopnibile nel sito web, non - deve essere scaricabile dai visitatori. Deve essere cioe' - all'esterno della DocumentRoot: un buon posto - potrebbe essere la /home dell'utente:

    -
    +        
    +

    3.7.2   Creazione del database + delle passwords

    + +

    Un modo semplice per gestire una database di + user-id / passwords e' utilizzare l'utility + htpasswd di Apache. Questa crea un file + in cui un crypt delle password viene associato + agli utenti.

    + +

    Si dovra' decidere dove tenere questo file, la cosa + importante e' che non sia visibile nel sito web: non deve + essere scaricabile dai visitatori. Deve essere cioe' + all'esterno della DocumentRoot: un buon posto + potrebbe essere la /home dell'utente.

    + +

    Creiamo (con il flag -c) il + file /home/utente/passwords con l'utente + luca:

    +
     htpasswd -c /home/utente/passwords luca
     
    -

    Creiamo (con il flag -c) il - file /home/utente/passwords con l'utente - luca.

    -
    +

    htpasswd ci chedera' la password da + associare all'utente luca. + Per sucessive modifiche della password o aggiunta di + nuovi utenti non sara' necessario usare il flag + -c.

    +
    -
    -

    3.9   Configurazione di - Apache

    +
    +

    3.7.3   Configurazione di + Apache

    -

    Ora possiamo passare alla ocnfigurazione vera e propria - di Apache, ma con una novita': andremo a inserire la voce - in un .htaccess.

    +

    Ora possiamo passare alla configurazione vera e + propria di Apache, ma con una novita': andremo a inserire + la voce in un .htaccess invece che modificare il file + di impostazione del virtual-host.

    -

    /var/www/177.piffa.net/privata/.htaccess

    -
    +          

    Questo per motivi pratici: solo l'utente root + puo' modificare l'impostazione del virtual host nel file + /etc/apache2/sites-enabled/177.piffa.net, + ma spesso il motivo per cui creiamo i virtual hosts e' + ospitare i siti di altri utenti, che possono solo + pubblicare (generalmente tramite FTP) i loro + documenti nella loro DocumentRoot, senza poter + quindi modificare in alcun modo la configurazione del + virtual host.

    + +

    Dando agli utenti la possibilita' di modificare + (AllowOverride) autonomamente alcuni parametri + (in questo caso solo l'AuthConfig) relativi al + funzionamenteo del loro spazio web ci togliera' + l'incombenza di dover intervenire suii vari virtual + host.

    + +

    Abilitiamo l'AllowOverride nel file di configurazione + del virtual host per la sola directory privata:

    +
    +<VirtualHost *:80 >
    +    ServerName 177.piffa.net
    +    DocumentRoot /var/www/177.piffa.net/
    +    ServerAdmin webmaster@177.piffa.net
    +    <Directory "/var/www/177.piffa.net/privata">
    +        AllowOverride AuthConfig
    +    </Directory>
    +</VirtualHost>
    +
    + +

    Per rendere il cambiamento effettivo sara' necessario + fare un restart / reload di Apache.

    + +

    Ora sara' possibile, anche per l'utente di sistema, + creare un fie .htaccess che sara' onorato da + Apache.

    + +

    /var/www/177.piffa.net/privata/.htaccess

    +
     # Questo file viene incluso
     # nella configurazione del sito web
     # Messaggio visualizzato al prompt per l'autenticazione
    @@ -1684,14 +1741,15 @@ AuthUserFile  /home/utente/passwords
     require valid-user
     
    -

    Si noti che non e' necessario fare ripartire Apache per - onorare i cambiamenti (un utente non avrebbe la - possibilita' di farlo!).

    +

    Si noti che non e' necessario fare ripartire Apache + per onorare i cambiamenti (un utente non avrebbe la + possibilita' di farlo!).

    +

    3.10   Cavets

    + "#id36">3.8   Cavets

    Problemi di cache:

    diff --git a/source/servizi.txt b/source/servizi.txt index 694de66..0deda4b 100644 --- a/source/servizi.txt +++ b/source/servizi.txt @@ -487,7 +487,7 @@ Si tenga pero' conto che e' relativamente facile per un malintenzionato cambiare User Authentication -~~~~~~~~~~~~~~~~~~~~~~~~~~ +--------------------- A volte conviene negoziare gli accessi ad un area di un sito tramite autenticazione basata sull'accopiata *nome utente / password*. Questo puo' venire utile per creare una area download *intranet*, alla quale possano accedere solo gli utenti previsti a prescindere dagli indirizzi IP dei loro client. Per quanto esistano soluzioni piu' granulari e sofisticate per ottenere questo, *mod-auth* puo'essere sufficente. E mod auth non richiede l'installazione di software aggiuntivi. @@ -495,27 +495,48 @@ A volte conviene negoziare gli accessi ad un area di un sito tramite autenticazi link: http://www.apacheweek.com/features/userauth Definire la cartella ------------------------ +~~~~~~~~~~~~~~~~~~~~~~ Decidere quale sara' il *path* della cartella da sottoporre ad autentizazione:(e creiamo la cartella): - mkdir /var/www/177.piffa.net/privata + ``mkdir /var/www/177.piffa.net/privata`` Creazione del database delle passwords ---------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Un modo semplice per gestire una database di *user-id / passwords* e' appoggiarsi all'utility ``htpasswd`` di Apache. Questa crea un file in cui un *crypt* delle password viene associato agli utenti. +Un modo semplice per gestire una database di *user-id / passwords* e' utilizzare l'utility ``htpasswd`` di Apache. Questa crea un file in cui un *crypt* delle password viene associato agli utenti. -Si dovra' decidere dove tenere questo file, la cosa importante e' che non sia disopnibile nel sito web, non deve essere scaricabile dai visitatori. Deve essere cioe' all'esterno della *DocumentRoot*: un buon posto potrebbe essere la /home dell'utente:: +Si dovra' decidere dove tenere questo file, la cosa importante e' che non sia visibile nel sito web: non deve essere scaricabile dai visitatori. Deve essere cioe' all'esterno della *DocumentRoot*: un buon posto potrebbe essere la /home dell'utente. +Creiamo (con il *flag* ``-c``) il file ``/home/utente/passwords`` con l'utente ``luca``:: + htpasswd -c /home/utente/passwords luca -Creiamo (con il *flag* ``-c``) il file ``/home/utente/passwords`` con l'utente ``luca``. +``htpasswd`` ci chedera' la password da associare all'utente ``luca``. Per sucessive modifiche della password o aggiunta di nuovi utenti non sara' necessario usare il flag ``-c``. Configurazione di Apache -------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Ora possiamo passare alla configurazione vera e propria di Apache, ma con una novita': andremo a inserire la voce in un ``.htaccess`` invece che modificare il file di impostazione del virtual-host. + +Questo per motivi pratici: solo l'utente *root* puo' modificare l'impostazione del virtual host nel file ``/etc/apache2/sites-enabled/177.piffa.net``, ma spesso il motivo per cui creiamo i virtual hosts e' ospitare i siti di altri utenti, che possono solo pubblicare (generalmente tramite *FTP*) i loro documenti nella loro *DocumentRoot*, senza poter quindi modificare in alcun modo la configurazione del virtual host. + +Dando agli utenti la possibilita' di modificare (*AllowOverride*) autonomamente alcuni parametri (in questo caso solo l'*AuthConfig*) relativi al funzionamenteo del loro spazio web ci togliera' l'incombenza di dover intervenire suii vari virtual host. + +Abilitiamo l'AllowOverride nel file di configurazione del virtual host per la sola directory ``privata``:: + + + ServerName 177.piffa.net + DocumentRoot /var/www/177.piffa.net/ + ServerAdmin webmaster@177.piffa.net + + AllowOverride AuthConfig + + + +Per rendere il cambiamento effettivo sara' necessario fare un restart / reload di Apache. -Ora possiamo passare alla ocnfigurazione vera e propria di Apache, ma con una novita': andremo a inserire la voce in un .htaccess. +Ora sara' possibile, anche per l'utente di sistema, creare un fie ``.htaccess`` che sara' onorato da Apache. /var/www/177.piffa.net/privata/.htaccess :: -- 2.39.2