Autenticare le richieste http EXCEPT per da questo IP


9

Qui Nagios è in esecuzione su un server (CentOS 5.3 con Apache 2.2.3-22.el5.centos) che esegue l'autenticazione sul mio server LDAP e tutto funziona bene. Tuttavia, mi piacerebbe avere un IP in grado di vedere la pagina di stato di Nagios senza eseguire l'autenticazione. Nagios ha questa opzione per assegnare un utente a qualcuno che non autorizza:

authorized_for_read_only=guest
default_user_name=guest

Il che suona bene, ma questo non si occupa dell'autenticazione di Apache. La mia attuale configurazione di Apache è simile a:

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

Funziona, ma vorrei un modo per dire "questo IP qui, può saltare quella roba di autenticazione". La direttiva Apache Satisfy sembra funzionare, quindi ho provato questo:

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

Ma non ha cambiato il comportamento del sito. Pensieri? "Funziona per me" s? Puntatori alle note di aggiornamento appropriate che dicono che aggirerei questo problema se potessi aggirare il mio server? :)

---- aggiorna con risposta ----

Ho eliminato il file o LDAP e sono soddisfatto che abbia funzionato per me. Probabilmente stavo facendo qualcosa di sbagliato lì dentro, ma qualunque cosa, ora funziona. Ecco come appare la mia configurazione finale:

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

Risposte:


8

"soddisfare qualsiasi" è effettivamente ciò che è necessario utilizzare. C'è un buon esempio nel wiki di Apache. Per citare direttamente da quella fonte:

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

Ho deciso di iniziare a ridurre la mia configurazione e ha funzionato! Grazie.
Bill Weiss,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.