Authentifizieren Sie http-Anforderungen AUSSER für diese IP

9

Ich habe Nagios hier auf einem Server (CentOS 5.3 mit Apache 2.2.3-22.el5.centos) ausgeführt, der sich bei meinem LDAP-Server authentifiziert, und alles funktioniert gut. Ich möchte jedoch, dass einige IP-Adressen die Nagios-Statusseite ohne Authentifizierung anzeigen können. Nagios hat diese Option, um einen Benutzer jemandem zuzuweisen, der nicht authentifiziert:

authorized_for_read_only=guest
default_user_name=guest

Das klingt richtig, kümmert sich aber nicht um die Apache-Authentifizierung. Meine aktuelle Apache-Konfiguration sieht folgendermaßen aus:

<Directory "/usr/lib64/nagios/cgi">
   AllowOverride None
   Order allow,deny
   Allow from all
   AuthName "Nagios Access"
   AuthType Basic
   AuthUserFile /etc/nagios/misc/htpasswd.users
   Require valid-user

   AuthBasicProvider file ldap
   AuthzLDAPAuthoritative off
   AuthBasicAuthoritative On
   AuthLDAPGroupAttribute LDAPmember
   AuthLDAPURL (my server stuff)
   Require ldap-group CN=nagios,ou=groups,DC=local
</Directory>

Das funktioniert, aber ich möchte irgendwie sagen "diese IP hier, er kann das Auth-Zeug überspringen". Die Apache Satisfy- Direktive sieht so aus, als würde sie funktionieren, also habe ich Folgendes versucht:

<Directory "/usr/lib64/nagios/cgi">
   AllowOverride None
   Order allow,deny
   Allow from (IP)  <---- changed
   Deny from all    <---- changed
   Satisfy any      <---- changed
   AuthName "Nagios Access"
   AuthType Basic
   AuthUserFile /etc/nagios/misc/htpasswd.users
   Require valid-user

   AuthBasicProvider file ldap
   AuthzLDAPAuthoritative off
   AuthBasicAuthoritative On
   AuthLDAPGroupAttribute LDAPmember
   AuthLDAPURL (my server stuff)
   Require ldap-group CN=nagios,ou=groups,DC=local
</Directory>

Das Verhalten der Website wurde dadurch jedoch nicht geändert. Gedanken? "Funktioniert für mich" s? Hinweise auf entsprechende Upgrade-Hinweise, die besagen, dass ich dieses Problem umgehen würde, wenn ich meinen Server aktualisieren würde? :) :)

---- Update mit Antwort ----

Ich habe das Datei-oder-LDAP-Zeug herausgenommen und zufrieden für mich gearbeitet. Ich habe dort wahrscheinlich etwas falsch gemacht, aber was auch immer, es funktioniert jetzt. So sieht meine endgültige Konfiguration aus:

<Directory "/usr/lib64/nagios/cgi">
   Options ExecCGI
   AllowOverride None
   Order allow,deny
   Allow from 192.168.42.213
   Satisfy any
   AuthName "Nagios Access"
   AuthType Basic

   AuthBasicProvider ldap
   AuthzLDAPAuthoritative off
   AuthBasicAuthoritative On
   AuthLDAPGroupAttribute LDAPmember
   AuthLDAPURL (my server stuff)
   Require ldap-group CN=nagios,ou=groups,DC=local
</Directory>
Bill Weiss
quelle

Antworten:

8

"Befriedige alle" ist in der Tat das, was Sie verwenden müssen. Es gibt ein gutes Beispiel im Apache-Wiki. Um direkt aus dieser Quelle zu zitieren:

<Directory /home/www/site1/private>
  AuthUserFile /home/www/site1-passwd
  AuthType Basic
  AuthName MySite
  Require valid-user
  Order allow,deny
  Allow from 172.17.10
  Satisfy any
</Directory>
Deutsch
quelle
Ich habe beschlossen, meine Konfiguration zu reduzieren, und es hat funktioniert! Vielen Dank.
Bill Weiss