Re: Location und Zugangsberechtigung

2006-02-10 Diskussionsfäden Max Dittrich

Hi,

Norman Timmler schrieb:

Am Freitag, den 10.02.2006, 00:20 +0100 schrieb Max Dittrich:

Hi,

Norman Timmler schrieb:

Hallo,

ich habe jetzt schon viele Stunden daran gesessen, folgendes Problem zu
lösen, obwohl es eher trivial erscheint:

Der Virtuelle Host ist Passwort geschützt. Nun möchte ich per Location
Direktive eine Ausnahme definieren, aber es gelingt mir nicht.

  
Order deny,allow
Deny from all
Allow from .myhost.de
Da ich sowas ja selten sehe, muß ich gleich mal nachfragen: Hast Du 
geprüft ob Du damit das Gewünschte erreichst? Also ist die 
Namensauflösung auf dem Server korrekt, die Reverse-Zone ordentlich 
gepflegt und Du testest nicht über localhost *g*?

Ansonsten ist so eine doppelte DNS-Anfrage bestimmt eine ziemliche Bremse.


Ich verstehe nicht ganz, von was du genau sprichst. Meinst Du die
Kombination von 'Deny from all' und 'Allow from .myhost.de'? Mir fällt
da kein anderer Weg ein, alle auszusperren, außer Benutzern der
Domain .myhost.com. Oder meinst Du den Punkt vor dem Domainnamen?
Alternativ kann ich hier auch eine IP Adresse angeben. Kein Problem.


Ja, nach Möglichkeit würde ich IP-Adressen oder Netzwerkmasken verwenden.




AuthType Basic
AuthName "authentifizieren"
AuthUserFile /etc/apache2/.htpasswd
AuthGroupFile /etc/apache2/.htgroups
Require group admins
Satisfy Any
# FUNKTIONIERT
  
  
Order deny,allow
Allow from all
# HIER WIRD TROTZDEM NACH BENUTZERNAME UND PASSWORT GEFRAGT
  


Hat jemand einen Tip für mich?
Browser ( - (Firefox + Extensions)) haben ja die doofe Angewohnheit auch 
  für "tieferliegende" URLs nach Zugangsdaten zu fragen, wenn sie einmal 
einen Authorization-Request gesehen haben. Denke mal Du hast mit einem 
frischen Browser auch direkt die Adresse /public/bla getestet?


Ja, das habe ich alles getestet. Ich Benutze Firefox mit der
Webdeveloper Extension, mit der ich die HTTP Authentication löschen
kann. Davon abgesehen, sitze ich auch schon etwas Länger an dem Problem,
so dass der Browser zwischenzeitlich auch mal zu war.


Ja, diese Webdeveloper-Toolbar ist'ne ganz nette Sache.



Vielleicht kann man auch etwas mit einer vom Wert einer 
Umgebungsvariable abhängigen Zugriffskontrolle machen.


Wie könnte so etwas denn ungefähr aussehen? Im Location
Container /public eine Variable setzen und im Location Container von /
nur authentifizieren, wenn sie nicht gesetzt ist? Kannst Du ein Beispiel
geben?


Vergiss das, es war gestern zu spät.

Am besten Du machst einen Zugriff unterhalb von /public, guckst in Dein 
access_log und prüfst welche Requests einen 401-Status hinter sich 
ziehen. Dein Setup scheint grundsätzlich ok und bei mir haben auch nur 
die erwähnten AutoIndex-Icons und eine Favicon-Abfrage ein 401 
hervorgebracht. Evtl. musst Du auch die aus Deinen Rewrites 
resultierenden URLs beachten.


Grüsse,
.max


--
   Apache HTTP Server Mailing List "users-de" 
 unsubscribe-Anfragen an [EMAIL PROTECTED]

  sonstige Anfragen an [EMAIL PROTECTED]
--



Re: Location und Zugangsberechtigung

2006-02-09 Diskussionsfäden Norman Timmler
Am Freitag, den 10.02.2006, 00:20 +0100 schrieb Max Dittrich:
> Hi,
> 
> Norman Timmler schrieb:
> > Hallo,
> > 
> > ich habe jetzt schon viele Stunden daran gesessen, folgendes Problem zu
> > lösen, obwohl es eher trivial erscheint:
> > 
> > Der Virtuelle Host ist Passwort geschützt. Nun möchte ich per Location
> > Direktive eine Ausnahme definieren, aber es gelingt mir nicht.
> > 
> >   
> > Order deny,allow
> > Deny from all
> > Allow from .myhost.de
> 
> Da ich sowas ja selten sehe, muß ich gleich mal nachfragen: Hast Du 
> geprüft ob Du damit das Gewünschte erreichst? Also ist die 
> Namensauflösung auf dem Server korrekt, die Reverse-Zone ordentlich 
> gepflegt und Du testest nicht über localhost *g*?
> Ansonsten ist so eine doppelte DNS-Anfrage bestimmt eine ziemliche Bremse.

Ich verstehe nicht ganz, von was du genau sprichst. Meinst Du die
Kombination von 'Deny from all' und 'Allow from .myhost.de'? Mir fällt
da kein anderer Weg ein, alle auszusperren, außer Benutzern der
Domain .myhost.com. Oder meinst Du den Punkt vor dem Domainnamen?
Alternativ kann ich hier auch eine IP Adresse angeben. Kein Problem.

> 
> > AuthType Basic
> > AuthName "authentifizieren"
> > AuthUserFile /etc/apache2/.htpasswd
> > AuthGroupFile /etc/apache2/.htgroups
> > Require group admins
> > Satisfy Any
> > # FUNKTIONIERT
> >   
> >   
> > Order deny,allow
> > Allow from all
> > # HIER WIRD TROTZDEM NACH BENUTZERNAME UND PASSWORT GEFRAGT
> >   
> > 
> > 
> > Hat jemand einen Tip für mich?
> 
> Browser ( - (Firefox + Extensions)) haben ja die doofe Angewohnheit auch 
>   für "tieferliegende" URLs nach Zugangsdaten zu fragen, wenn sie einmal 
> einen Authorization-Request gesehen haben. Denke mal Du hast mit einem 
> frischen Browser auch direkt die Adresse /public/bla getestet?

Ja, das habe ich alles getestet. Ich Benutze Firefox mit der
Webdeveloper Extension, mit der ich die HTTP Authentication löschen
kann. Davon abgesehen, sitze ich auch schon etwas Länger an dem Problem,
so dass der Browser zwischenzeitlich auch mal zu war.

> Vielleicht kann man auch etwas mit einer vom Wert einer 
> Umgebungsvariable abhängigen Zugriffskontrolle machen.

Wie könnte so etwas denn ungefähr aussehen? Im Location
Container /public eine Variable setzen und im Location Container von /
nur authentifizieren, wenn sie nicht gesetzt ist? Kannst Du ein Beispiel
geben?

-- 
Norman Timmler

http://blog.inlet-media.de


--
Apache HTTP Server Mailing List "users-de" 
  unsubscribe-Anfragen an [EMAIL PROTECTED]
   sonstige Anfragen an [EMAIL PROTECTED]
--



Re: Location und Zugangsberechtigung

2006-02-09 Diskussionsfäden Max Dittrich

Hi,

Norman Timmler schrieb:

Hallo,

ich habe jetzt schon viele Stunden daran gesessen, folgendes Problem zu
lösen, obwohl es eher trivial erscheint:

Der Virtuelle Host ist Passwort geschützt. Nun möchte ich per Location
Direktive eine Ausnahme definieren, aber es gelingt mir nicht.

  
Order deny,allow
Deny from all
Allow from .myhost.de


Da ich sowas ja selten sehe, muß ich gleich mal nachfragen: Hast Du 
geprüft ob Du damit das Gewünschte erreichst? Also ist die 
Namensauflösung auf dem Server korrekt, die Reverse-Zone ordentlich 
gepflegt und Du testest nicht über localhost *g*?

Ansonsten ist so eine doppelte DNS-Anfrage bestimmt eine ziemliche Bremse.


AuthType Basic
AuthName "authentifizieren"
AuthUserFile /etc/apache2/.htpasswd
AuthGroupFile /etc/apache2/.htgroups
Require group admins
Satisfy Any
# FUNKTIONIERT
  
  
Order deny,allow
Allow from all
# HIER WIRD TROTZDEM NACH BENUTZERNAME UND PASSWORT GEFRAGT
  


Hat jemand einen Tip für mich?


Browser ( - (Firefox + Extensions)) haben ja die doofe Angewohnheit auch 
 für "tieferliegende" URLs nach Zugangsdaten zu fragen, wenn sie einmal 
einen Authorization-Request gesehen haben. Denke mal Du hast mit einem 
frischen Browser auch direkt die Adresse /public/bla getestet?


Vielleicht kann man auch etwas mit einer vom Wert einer 
Umgebungsvariable abhängigen Zugriffskontrolle machen.


Grüsse,
.max




--
   Apache HTTP Server Mailing List "users-de" 
 unsubscribe-Anfragen an [EMAIL PROTECTED]

  sonstige Anfragen an [EMAIL PROTECTED]
--



Re: Location und Zugangsberechtigung

2006-02-09 Diskussionsfäden Max Dittrich

Hi,

Emil 'nobs' Obermayr schrieb:

Am Donnerstag, 9. Februar 2006 12:46 schrieb Norman Timmler:


Der Virtuelle Host ist Passwort geschützt. Nun möchte ich per Location
Direktive eine Ausnahme definieren, aber es gelingt mir nicht.

  


Laut Doku ist Satisfy nur in  erlaubt und darüber hinaus wird in 
der Doku zu  empfohlen, Zugriffs-Regeln nicht hier zu definieren, 
sondern in . Vielleicht versuchst Du es mal damit, getestet hab 
ich es noch nicht.


Der Kontext "Directory" wird doch als Sammelbegriff für  , 
 und  verwendet oder welchen Punkt in der Doku sprichst 
Du an?


Grüsse,
.max


--
   Apache HTTP Server Mailing List "users-de" 
 unsubscribe-Anfragen an [EMAIL PROTECTED]

  sonstige Anfragen an [EMAIL PROTECTED]
--



RE: Location und Zugangsberechtigung

2006-02-09 Diskussionsfäden Norman Timmler
Am Donnerstag, den 09.02.2006, 14:19 +0100 schrieb Marcus Reimann:
> Hallo Norman,
> 
> Du schreibst:
> 
> >Der Virtuelle Host ist Passwort geschützt. Nun möchte ich per Location
> >Direktive eine Ausnahme definieren, aber es gelingt mir nicht.
> >
> >  
> >>Order deny,allow
> >Deny from all
> >Allow from .myhost.de
> >AuthType Basic
> >AuthName "authentifizieren"
> >AuthUserFile /etc/apache2/.htpasswd
> >AuthGroupFile /etc/apache2/.htgroups
> >Require group admins
> >Satisfy Any
> >  
> >  
> >Order deny,allow
> >Allow from all
> >  
> >
> >
> >Für URLS die mit /public beginnen wird trotzdem immer ein Passwort 
> >verlangt. Hat jemand einen Tip für mich?
> 
> Die Erklärung, warum nach dem Passwort gefragt wird ist folgende:
> Die Einstellungen werden vom übergeordneten Verzeichnis (bzw. der
> übergeordneten Location) an die untergeordneten Verzeichnisse 
> (Locations) vererbt. Zugriffe auf Dateien in der Location /public
> werden dadurch also auch passwortgeschützt.
> 
> Lösung: Ändere die Struktur der Webseite nach folgendem Schema
> 
> /index.html  
>   - Startseite, für alle lesbar
> Falls Du möchtest, kannst Du in der index.html auch ein 
> sofortiges Redirect nach /private/index.html machen, so dass 
> eine Passwortabfrage kommt, wenn User auf Deine URL mit
> http://www.hostname.com/ zugreifen.
> 
> /public/
>   - Verzeichnis für alle lesbar
> 
>   # Welche Hosts duerfen zugreifen?
>   Order allow,deny
>   Allow from all
> 
> 
> /private/
>   - passwortgeschütztes Verzeichnis
> 
>   # Welche Hosts duerfen zugreifen?
>   Order deny,allow
>   Deny from all
>   Allow from .myhost.de
> 
>   # Welche User duerfen zugreifen?
>   AuthType Basic
>   AuthName "authentifizieren"
>   AuthUserFile /etc/apache2/.htpasswd
>   AuthGroupFile /etc/apache2/.htgroups
>   Require group admins
> 
> 
> Alle Dateien, die öffentlich sind (z.B. Bilder, Stylesheets, ...)
> legst Du dabei in Unterverzeichnisse des /public-Verzeichnisses
> ab und Dateien, die passwortgeschützt sein sollen unterhalb des
> /private-Verzeichnisses.
> 
> Ohne eine solche (oder ähnliche Struktur) kann es leider nicht 
> funktionieren.

Vielen Dank für die ausführliche Email. Das Problem ist nur,
dass /public eine virtuelle URL ist über die noch ein Rewriting läuft.
Die Strukturen ändern ist leider keine Lösung.

-- 
Norman Timmler

http://blog.inlet-media.de


--
Apache HTTP Server Mailing List "users-de" 
  unsubscribe-Anfragen an [EMAIL PROTECTED]
   sonstige Anfragen an [EMAIL PROTECTED]
--



Re: Location und Zugangsberechtigung

2006-02-09 Diskussionsfäden Norman Timmler
Am Donnerstag, den 09.02.2006, 17:12 +0100 schrieb Frank Thommen:
> Hallo Norman,
> 
> > ich habe jetzt schon viele Stunden daran gesessen, folgendes Problem zu
> > lösen, obwohl es eigentlich trivial erscheint:
> > 
> > Der Virtuelle Host ist Passwort geschützt. Nun möchte ich per Location
> > Direktive eine Ausnahme definieren, aber es gelingt mir nicht.
> > 
> >   
> > Order deny,allow
> > Deny from all
> > Allow from .myhost.de
> > AuthType Basic
> > AuthName "authentifizieren"
> > AuthUserFile /etc/apache2/.htpasswd
> > AuthGroupFile /etc/apache2/.htgroups
> > Require group admins
> > Satisfy Any
> >   
> >   
> > Order deny,allow
> > Allow from all
> >   
> > 
> > 
> > Für URLS die mit /public beginnen wird trotzdem immer ein Passwort 
> > verlangt. Hat jemand einen Tip für mich?
> > 
> 
> Ich habe Dein Beispiel nachgebaut und bei mir funktioniert es bestens 
> (Apache/2.0.55).  *Allerdings* wenn Du z.B. ein Directory Listing von 
> /public anzeigen laesst, referenziert Apache die Icons aus /icons/.  Um 
> diese Icons anzuzeigen muesst (resp. muesstest) Du Dich 
> authentifizieren, denn deren Pfad !~ "^/public".
> 
> Ist das vielleicht das Problem?

Ok, das läßt hoffen. Das Problem liegt darin, dass public nur ein
virtuelle URL ist, die nachher noch von einer .htaccess Datei rewritten
wird. Aber der Hinweis ist gut. Ich bekomme bei verschiedenen
Kombinationen verschiedene 401 Screens. Ich werde mal weiter testen.

-- 
Norman Timmler

http://blog.inlet-media.de


--
Apache HTTP Server Mailing List "users-de" 
  unsubscribe-Anfragen an [EMAIL PROTECTED]
   sonstige Anfragen an [EMAIL PROTECTED]
--



Re: Location und Zugangsberechtigung

2006-02-09 Diskussionsfäden Frank Thommen

Hallo Norman,


ich habe jetzt schon viele Stunden daran gesessen, folgendes Problem zu
lösen, obwohl es eigentlich trivial erscheint:

Der Virtuelle Host ist Passwort geschützt. Nun möchte ich per Location
Direktive eine Ausnahme definieren, aber es gelingt mir nicht.

  
Order deny,allow
Deny from all
Allow from .myhost.de
AuthType Basic
AuthName "authentifizieren"
AuthUserFile /etc/apache2/.htpasswd
AuthGroupFile /etc/apache2/.htgroups
Require group admins
Satisfy Any
  
  
Order deny,allow
Allow from all
  


Für URLS die mit /public beginnen wird trotzdem immer ein Passwort verlangt. 
Hat jemand einen Tip für mich?



Ich habe Dein Beispiel nachgebaut und bei mir funktioniert es bestens 
(Apache/2.0.55).  *Allerdings* wenn Du z.B. ein Directory Listing von 
/public anzeigen laesst, referenziert Apache die Icons aus /icons/.  Um 
diese Icons anzuzeigen muesst (resp. muesstest) Du Dich 
authentifizieren, denn deren Pfad !~ "^/public".


Ist das vielleicht das Problem?

HeGrue

   frank

--
Frank Thommen
System Management & Support +41-44-63 27208
Inst. of Computational Science ETH [EMAIL PROTECTED]
ETH Zentrum / CAB, CH-8092 Zuerichwww.inf.ethz.ch/~fthommen

 ()  ascii ribbon campaign: against html mail, vCards
 /\ and proprietary attachments


--
   Apache HTTP Server Mailing List "users-de" 
 unsubscribe-Anfragen an [EMAIL PROTECTED]

  sonstige Anfragen an [EMAIL PROTECTED]
--



RE: Location und Zugangsberechtigung

2006-02-09 Diskussionsfäden Marcus Reimann
Hallo Norman,

Du schreibst:

>Der Virtuelle Host ist Passwort geschützt. Nun möchte ich per Location
>Direktive eine Ausnahme definieren, aber es gelingt mir nicht.
>
>  
>>Order deny,allow
>Deny from all
>Allow from .myhost.de
>AuthType Basic
>AuthName "authentifizieren"
>AuthUserFile /etc/apache2/.htpasswd
>AuthGroupFile /etc/apache2/.htgroups
>Require group admins
>Satisfy Any
>  
>  
>Order deny,allow
>Allow from all
>  
>
>
>Für URLS die mit /public beginnen wird trotzdem immer ein Passwort 
>verlangt. Hat jemand einen Tip für mich?

Die Erklärung, warum nach dem Passwort gefragt wird ist folgende:
Die Einstellungen werden vom übergeordneten Verzeichnis (bzw. der
übergeordneten Location) an die untergeordneten Verzeichnisse 
(Locations) vererbt. Zugriffe auf Dateien in der Location /public
werden dadurch also auch passwortgeschützt.

Lösung: Ändere die Struktur der Webseite nach folgendem Schema

/index.html  
  - Startseite, für alle lesbar
Falls Du möchtest, kannst Du in der index.html auch ein 
sofortiges Redirect nach /private/index.html machen, so dass 
eine Passwortabfrage kommt, wenn User auf Deine URL mit
http://www.hostname.com/ zugreifen.

/public/
  - Verzeichnis für alle lesbar

  # Welche Hosts duerfen zugreifen?
  Order allow,deny
  Allow from all


/private/
  - passwortgeschütztes Verzeichnis

  # Welche Hosts duerfen zugreifen?
  Order deny,allow
  Deny from all
  Allow from .myhost.de

  # Welche User duerfen zugreifen?
  AuthType Basic
  AuthName "authentifizieren"
  AuthUserFile /etc/apache2/.htpasswd
  AuthGroupFile /etc/apache2/.htgroups
  Require group admins


Alle Dateien, die öffentlich sind (z.B. Bilder, Stylesheets, ...)
legst Du dabei in Unterverzeichnisse des /public-Verzeichnisses
ab und Dateien, die passwortgeschützt sein sollen unterhalb des
/private-Verzeichnisses.

Ohne eine solche (oder ähnliche Struktur) kann es leider nicht 
funktionieren.

Viele Grüße
 Marcus Reimann
 M. Reimann Systemberatung
 http://www.reimann-systemberatung.de


--
Apache HTTP Server Mailing List "users-de"
  unsubscribe-Anfragen an [EMAIL PROTECTED]
   sonstige Anfragen an [EMAIL PROTECTED]
--



Re: Location und Zugangsberechtigung

2006-02-09 Diskussionsfäden Emil 'nobs' Obermayr
Am Donnerstag, 9. Februar 2006 12:46 schrieb Norman Timmler:

> Der Virtuelle Host ist Passwort geschützt. Nun möchte ich per Location
> Direktive eine Ausnahme definieren, aber es gelingt mir nicht.
>
>   

Laut Doku ist Satisfy nur in  erlaubt und darüber hinaus wird in 
der Doku zu  empfohlen, Zugriffs-Regeln nicht hier zu definieren, 
sondern in . Vielleicht versuchst Du es mal damit, getestet hab 
ich es noch nicht.

-- 
http://tigress.com/nobs/

--
Apache HTTP Server Mailing List "users-de" 
  unsubscribe-Anfragen an [EMAIL PROTECTED]
   sonstige Anfragen an [EMAIL PROTECTED]
--