mod_auth_basic de apache permite el ingreso de usuarios si el password se "parece"
Estaba hoy en el trabajo accediendo al servidor web a una URL local, algo como http://www.midominio.com/status que, al mostrar información de estado del servidor (similar a la que muestra mod_status y mod_info), tiene acceso restringido mediante mod_auth_basic.
El problema fue el siguiente, cuando se me solicitó el usuario y password si querer presione enter olvidando teclear el último caractér de la contraseña, cual seria mi sorpresa al ver que apache me permitió de todos modos el acceso a la pagina restringida.
Probé varias veces mas, desde diferentes navegadores y maquinas y siempre me permitía acceso si el password que le ingresaba comenzaba con los primeros 7 caracteres del password original (que es bastante largo, de unos 12 caracteres).
Posteo la configuración del VirtualHost, es un apache 2.2.3-4+etch6 corriendo en un debian etch
<VirtualHost *:80>
ServerName www.xxx.net.ar
Redirect permanent / https://ssl.xxx.net.ar/
</VirtualHost>
<VirtualHost
*:443>
ServerName ssl.xxx.net.ar
ServerAdmin webmaster@xxx.net.ar
DocumentRoot /var/www/xxx
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
Alias /status /var/www/stat
<Directory "/var/www/stat">
Options none
AllowOverride None
Order allow,deny
Allow from all
AuthBasicProvider file
AuthName "Sitio de uso restringido, autorización es requerida"
AuthType Basic
AuthUserFile /etc/apache2/stat_passwd
Require valid-user
</Directory>
<Directory "/var/www/xxx">
Options none
AllowOverride None
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile "/etc/ssl/certs/publico.cert"
SSLCertificateKeyFile "/etc/ssl/private/privado.key"
ErrorLog /var/log/apache2/xxx.error.log
LogLevel warn
CustomLog /var/log/apache2/xxx.access.log combined
ServerSignature Off
</VirtualHost>Es un sitio https pero probé también mover la configuración hacia otro sitio no seguro y hace lo mismo.
He estado googleando un rato acerca de la longitud de los passwords y demás pero no he encontrado nada, en el bug tracking de apache no aparece nada al respecto.
Estaba por reportarlo como bug pero primero quería saber si alguien ve algo mal en mi configuración.
PD: Otra cosa que llamó mi atención son los hash que genera htpasswd:
www:~# htpasswd -nb usuario algunpassword
usuario:O3C/Asjp0J1r6
www:~# htpasswd -nb usuario algunpassword
usuario:AJSlCEm866p.g
www:~# htpasswd -nb usuario algunpassword
usuario:hX7wAJc/fdc26
Para el mismo password genera siempre un hash distinto
El modificador n es para que muestre la salida por pantalla, b para que permita ingresar el password junto con el comando.
¿Alguien ve algo mal?
- Inicie sesión o regístrese para enviar comentarios
- 181 lecturas



Nuevo dato:
Si a las claves se las cifra utilizando md5 asi (segun el man de htpasswd):
htpasswd -m /etc/apache2/stat_passwd pato
Entonces si funciona bien, pero la documentacion de apache dice que no es necesario
Segun la documentacion oficial de apache deberia funcionar haciendo:
htpasswd /etc/apache2/stat_passwd pato
que cosas!!!