Autenticación en lighttpd.
Hay ciertas webs que uso para administración del servidor web (estadisticas), que no me interesa que sean accesibles por todo el mundo. Para ello, vamos a configurar la autenticación en lighttpd.
Activamos el módulo:
lighty-enable-mod auth
Configuramos el fichero /etc/lighttpd/conf-enabled/10-auth.conf, donde especificaremos que queremos proteger:
auth.backend = "htdigest" auth.backend.htdigest.userfile = "/etc/lighttpd/light.digest.user" $HTTP["host"] == “estadisticas.dominio.com” { auth.require = ( “/” => ( “method” => “digest”, “realm” => “Estadisticas de Dominio”, “require” => “valid-user” ) ) }
Uso el método de autenticación digest ya que es el mas seguro.
Auth.require: Entre las comillas indicamos que path protegeremos, si queremos solo un directorio dentro de ese dominio, pondriamos “/directorio”. Yo lo quiero protegerlo entero, por lo que pongo “/”.
method: El método de autenticación.
realm: Una cadena de texto que se le mostrara al usuario cuando pida la contraseña, además de ser utilizada para calcular el hash.
Una vez configurada la autenticación, generamos una contraseña para un usuario valido:
echo -n "Usuario:Estadisticas de Dominio:Clave"|md5sum|cut -b -32
La cadena de texto resultante la metemos en /etc/lighttpd/light.digest.user:
vim /etc/lighttpd/light.digest.user
Usuario:Estadisticas de Dominio:6fdc0056d71b7dafc31520ec0f4ea617
Podemos resumir los dos pasos anteriores en uno solo:
echo "Usuario:Estadisticas de Dominio:`echo -n "Usuario:Estadisticas de Dominio:Clave"|md5sum|cut -b -32`" >> /etc/lighttpd/light.digest.user
Reiniciamos el lighttpd.
/etc/init.d/lighttpd restart
Y al ir a la url http://estadisticas.dominio.com, nos debería de pedir usuario y contraseña.
Información recogida de esta web.