Apache2: proteggere directory mediante autenticazione: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
 
(10 versioni intermedie di 4 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Squeeze|Wheezy|Jessie}}
== Introduzione ==
== Introduzione ==
In molte situazioni i servizi HTTP sono pubblici e pensati per essere accessibili da chiunque abbia la possibilità di connettersi.
In molte situazioni i servizi HTTP sono pubblici e pensati per essere accessibili da chiunque abbia la possibilità di connettersi.
Riga 22: Riga 23:
* ''Deny from all'' dice ad Apache di proibire a chiunque l'accesso alla directory
* ''Deny from all'' dice ad Apache di proibire a chiunque l'accesso alla directory
* ''Allow from'' indica ad Apache di consentire l'accesso alla risorsa a tutte le macchine della rete 192.168.90.0/24
* ''Allow from'' indica ad Apache di consentire l'accesso alla risorsa a tutte le macchine della rete 192.168.90.0/24
'''Da Debian Jessie (Apache 2.4.x)''':
<pre>
<Directory /var/www/esempio.it/www/>
          Require ip 192.168.90.0/24
</Directory>
</pre>
La direttiva non prevede più l'utilizzo di ''Order deny,allow'' e ''Deny from all''
In questo caso specifico basta:
* ''Require ip'' per indicare ad Apache che l'accesso alla risorsa è consentito solo a tutte le macchine della rete 192.168.90.0/24


=== Regole addizionali ===
=== Regole addizionali ===
Riga 34: Riga 46:
</Directory>
</Directory>
</pre>
</pre>
'''Da Debian Jessie (Apache 2.4.x)''':
<pre>
<Directory /var/www/esempio.it/www/>
          Require not ip 192.168.100.100
          Require not ip 10.0.0.0/24
          Require ip 192.168.90.0/24
          Require ip 10.0.0.11
</Directory>
</pre>
La direttiva non prevede più l'utilizzo di ''Order deny,allow'', ''Deny from'' e ''Allow from''
In questo caso specifico basta:
* ''Require not ip'' per indicare ad Apache di negare l'accesso alla risorsa a tutte le macchine delle reti 192.168.100.100 e 10.0.0.0/24
* ''Require ip'' per indicare ad Apache che l'accesso alla risorsa è consentito solo a tutte le macchine delle reti 192.168.90.0/24 e 10.0.0.11
Apache permette anche di specificare regole di accesso basate sugli hostname e non solo sugli indirizzi IP. Ad esempio:
Apache permette anche di specificare regole di accesso basate sugli hostname e non solo sugli indirizzi IP. Ad esempio:
<pre>
<pre>
Riga 46: Riga 74:
</Directory>
</Directory>
</pre>
</pre>
E' anche possibile costruire delle regole di accesso basate sulle variabili della sessione HTTP: questo ci permette di creare regole leggendo ad esempio il tipo di browser (user agent) o il referrer. Ad esempio:
'''Da Debian Jessie (Apache 2.4.x)''':
<pre>
<Directory /var/www/esempio.it/www/>
          Require not ip 192.168.100.100
          Require not ip 10.0.0.0/24
          Require not host dominio.it
          Require host dominio.org
          Require ip 192.168.90.0/24
          Require ip 10.0.0.11
</Directory>
 
</pre>
La direttiva non prevede più l'utilizzo di ''Order deny,allow'', ''Deny from'' e ''Allow from''
In questo caso specifico sono state aggiunte due regole:
* ''Require not host'' per indicare ad Apache di negare l'accesso alla risorsa a tutti gli host del dominio "dominio.it"
* ''Require host'' per indicare ad Apache che l'accesso alla risorsa è consentito solo a tutti gli host del dominio "dominio.org"
 
 
 
È anche possibile costruire delle regole di accesso basate sulle variabili della sessione HTTP: questo ci permette di creare regole leggendo ad esempio il tipo di browser (user agent) o il referrer. Ad esempio:
<pre>
<pre>
<Directory /var/www/esempio.it/www/>
<Directory /var/www/esempio.it/www/>
Riga 55: Riga 102:
</Directory>
</Directory>
</pre>
</pre>
Questa regole lavora insieme al modulo Apache mod_setenvif, in questo modo:
Questa regola lavora insieme al modulo Apache mod_setenvif, in questo modo:
# se il referrer del visitatore coincide con google.it viene inizilizzata la variabile ''search_traffic''
# se il referrer del visitatore coincide con google.it viene inizializzata la variabile ''search_traffic''
# viene negato a tutti l'accesso alla risorsa
# viene negato a tutti l'accesso alla risorsa
# viene consentito l'accesso s chi ha la variabile ''search_traffic'' impostata
# viene consentito l'accesso a chi ha la variabile ''search_traffic'' impostata


== Controllo degli accessi Credential-based ==
== Controllo degli accessi Credential-based ==
Riga 93: Riga 140:
Retype Password: ********
Retype Password: ********
</pre>
</pre>
Una volta creato il file e aggiunto l'utente ''utente_ok'' possiamo in ogni momento aggiungere altri utenti semplicemente ripetendo il comando precedente, ma omettendo l'opzione <code>-c</code> (create):
Una volta creato il file e aggiunto l'utente ''utente_ok'' possiamo in ogni momento aggiungere altri utenti semplicemente ripetendo il comando precedente, ma omettendo l'opzione <code>-c</code> (''create''):
<pre>
<pre>
# htpasswd -b /srv/auth/.htpasswd ferdy 5t1ck6
# htpasswd -b /srv/auth/.htpasswd ferdy 5t1ck6
Riga 110: Riga 157:
Require valid-user
Require valid-user
</pre>
</pre>
con
con:
<pre>
<pre>
Require utente_ok ferdy
Require utente_ok ferdy
</pre>
</pre>
Con queste indicazioni all'utente utente2, pur appartenendo al file di autenticazione, sarà impedito l'accesso alla directory.
Con queste indicazioni all'utente ''utente2'', pur appartenendo egli al file di autenticazione, sarà impedito l'accesso alla directory.
<br/>
 
 
{{Autori
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 16:09, 16 apr 2011 (CEST)
|Estesa_da =
: [[Utente:Selky|Selky]]
}}


----
[[Categoria:Web server]]
--[[Utente:Ferdybassi|Ferdybassi]] 16:09, 16 apr 2011 (CEST)
[[Categoria:Debian e sicurezza]]
3 581

contributi