[Desactualizado] Una forma de ocultar la contraseña después de verificar la configuración de apt-cacher


[Update] Este post no funciona en recientes versiones de apt-cacher ya que usa ahora apache.

Nada supera la satisfacción de tener configurado un repositorio local en un servidor con  apt-cacher. El ahorro de ancho de banda es impresionante.

Sin embargo, al finalizar su instalación , para ver la información de configuración , se recurre a navegar al url http://servidor:3142http://servidor:3142/apt-cacher .Si se encuentra ese servidor tras un servidor proxy, la información de las credenciales de autentificación estarán expuestas allí desde el principio.

Después de dar con el archivo a modificar, acá indico una forma de como ocultar esa información. Sé que hay otra forma pero no la domino o no sé como redirecciono con perl a otra página sin tocar /usr/share/apt-cacher/apt-cacher.pl.. Si la conocen, coméntenla, compártela.


En caso de fallas, siempre se recomienda respaldar , en este caso, /usr/share/apt-cacher/apt-cacher.pl. El segmento a modificar es este que muestro a continuación

....
#Iterate through $cfg and tabulate
     foreach  (sort(keys %$cfg)) {
         print $con "<tr bgcolor=\"#cccccc\" align=\"left\"> \
         <td bgcolor=\"#ccccff\"> $_ </td> \
         <td> $cfg->{$_} </td> \
         </tr>\n";
     }
.....


Lo que hice fue hacer un condicional que preguntará si el valor de la variable encontrada en /etc/apt-cacher/apt-cacher.conf es diferente a una parte de la contraseña, si eso pasa, imprima el valor de esa variable, en otro caso , imprima asteriscos. Cabe destacar que se colocaría a buscar una parte de la contraseña , no la contraseña completa. Un cambio sería así

....
#Iterate through $cfg and tabulate
     foreach  (sort(keys %$cfg)) {
       

if  ($cfg->{$_} =~ /ParteDelaContraseña/)
     {
      print $con "<tr bgcolor=\"#cccccc\" align=\"left\"> \
                <td bgcolor=\"#ccccff\"> $_ </td> \
                <td> ****** </td> \

             </tr>\n";
      }

      else
      {
        print $con "<tr bgcolor=\"#cccccc\" align=\"left\"> \
                <td bgcolor=\"#ccccff\"> $_ </td> \
                <td> $cfg->{$_} </td> \

             </tr>\n";

      } 
}
....

Al reiniciar el servicio de apt-cacher y visitar en el navegador http://servidor:3142http://servidor:3142/apt-cacher , se vé así en mi caso. Observe el puntero de la imagen donde en teoría se vería la contraseña del usuario del proxy




Otra forma de evitarse es colocar su propia página personalizada, modificando el código html que se desarrolla en /usr/share/apt/apt-cacher-pl , tan sólo cambiando el contendido entre el tag html y colocando lo necesario.

0 comentarios:

Publicar un comentario