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>

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>

Ich habe beschlossen, meine Konfiguration zu reduzieren, und es hat funktioniert! Vielen Dank.
Bill Weiss
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.