Autenticar solicitudes HTTP EXCEPTO desde esta IP

9

Tengo a Nagios ejecutándose en un servidor aquí (CentOS 5.3 w / Apache 2.2.3-22.el5.centos) autenticándose en mi servidor LDAP, y todo funciona bien. Sin embargo, me gustaría tener alguna IP capaz de ver la página de estado de Nagios sin autenticar. Nagios tiene esta opción para asignar un usuario a alguien que no se autentica:

authorized_for_read_only=guest
default_user_name=guest

Lo que suena bien, pero eso no se ocupa de la autenticación de Apache. Mi configuración actual de apache se ve así:

<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>

Eso está funcionando, pero me gustaría alguna forma de decir "esta IP por aquí, él puede omitir esas cosas de autenticación". La directiva Apache Satisfy parece que funcionaría, así que probé esto:

<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>

Pero no cambió el comportamiento del sitio. Pensamientos? "¿Funciona para mí"? ¿Punteros a las notas de actualización apropiadas que dicen que solucionaría este problema si pudiera actualizar mi servidor? :)

---- actualización con respuesta ----

Saqué el archivo o LDAP, y la satisfacción funcionó para mí. Probablemente estaba haciendo algo mal allí, pero lo que sea, funciona ahora. Así es como se ve mi configuración final:

<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
fuente

Respuestas:

8

"Satisfacer cualquiera" es de hecho lo que necesita usar. Hay un buen ejemplo en el wiki de Apache. Para citar directamente de esa fuente:

<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>
Alemán
fuente
Decidí comenzar a reducir mi configuración, ¡y funcionó! Gracias.
Bill Weiss