Firefox para empresas: autoconfiguración
Firefox tiene una gran virtud, su capacidad de configuración y personalización, ya sea a través de extensiones, como de parámetros de configuración (About:config). Muchas extensiones almacenan en la configuración de Firefox aquellos datos que permiten personalizar su función, de tal manera que tanto pueden personalizarse a través de su correspondiente pantalla de opciones como a través de la propia configuración de Firefox.
El problema viene cuando tenemos que configurar no un ordenador, sino muchos a la vez, estableciendo en ellos una misma configuración, por ejemplo, la conectividad de un proxy, la página de inicio, carpetas de descarga, etc... Para los administradores de sistemas, informáticos de empresas, etc, esta labor es tediosa, aburrida y no permanente ya que los usuarios suelen jugar con los botones y opciones, algo que requiere de nuevo una reconfiguración.
Este post tiene como objeto explicar como podemos configurar Firefox en una red de ordenadores para que adopten unos parámetros de configuración comunes, ya sea para alterar aspectos tan básicos como que página de inicio hay de abrirse, como determinar el nivel de seguridad de las extensiones a instalar, pudiendo indicar aquellos que el usuario no puede modificar para establecer una configuración "mandatoria". Cierto que existen soluciones como las políticas de seguridad de Windows, pero de lo que se trata es de que funcione en cualquier plataforma.
Para esta tarea se requieren 3 ficheros: all.js, autoconfig.cfg y autoconfig.js. Haciendo un resumen de lo que vamos a hacer, diremos que el primero fichero se encargará de cargar el segundo, el cual a su vez cargará el tercero desde una ubicación remota.
El primer fichero, "all.js" ya lo tenemos estando ubicado en la carpeta "greprefs" que cuelga de la carpeta de instalación de Firefox. En el caso de Windows, probablemente la carpeta sea "C:\Archivos de programa\Mozilla Firefox\greprefs". Este fichero determina la configuración para todos los perfiles de usuarios, es decir, aquellas preferencias que independientemente de quien use el ordenador, se aplican por igual.
A este fichero lo único que hay que hacer es, mediante un editor de textos, agregarle al final las siguientes líneas:pref('general.config.obscure_value', 0);
pref("general.config.filename", "autoconfig.cfg");
Con ello le indicamos que cargue las configuración almacenada en el fichero autoconfig.cfg. La primera línea establece el valor 0 para general.config.obscure_value que indica que el fichero de configuración "autoconfig.cfg" no esta codificado, y todo el mundo puede ver lo que hay dentro. Puedes cambiar esto, pero por el momento mejor no complicarlo.
El segundo fichero, autoconfig.cfg lo hemos de crear con cualquier editor y lo ubicaremos en la misma carpeta donde está instalado Firefox (en caso de windows, probablemente sea "C:\Archivos de programa\Mozilla Firefox\") y en cuyo contenido escribiremos 1 línea (importante el uso de mayúsculas y minúsculas):
lockPref("autoadmin.global_config_url",fichero_configuracion);
donde fichero_configuracion
lockPref("autoadmin.global_config_url","file:///H:/mozilla/firefox/autoconfig.js");
o
lockPref("autoadmin.global_config_url","http://www.miempresa.com/autoconfig.js");
Hasta aquí lo que hemos hecho es cambiar el fichero "all.js" para agregarle 2 líneas que indican que cargue un fichero de configuración. Ahora solo falta crear el fichero de configuración de todos, el que hemos llamado "autoconfig.js".
Este fichero puede contener una serie de políticas de configuración que se basan en sentencias de tipo "pref(clave
pref('browser.startup.homepage','http://www.miempresa.com');
Puedes consultar una amplia lista de claves configurables en:
http://kb.mozillazine.org/Firefox_:_FAQs_:_About:config_Entries
Si substituimos pref por lockPref (cuidado con mayúsculas y minúsculas) , haremos que el usuario no pueda cambiarla. Por ejemplo, para establecer una página de inicio que no pueda ser "anulada" indicaremos:
lockPref('browser.startup.homepage','http://www.miempresa.com');
Así, en el fichero autoconfig.js iremos indicando todos aquellos parámetros ya sea de la configuración de Firefox como de las extensiones instaladas.
¿Podemos automatizar todo el proceso? Si claro. Para el caso de esta prueba usaremos el ejemplo de windows. Para ellos, dispondremos en una carpeta de red (por ejemplo H:\mozilla\firefox\) de los archivos autoconfig.js y autoconfig.cfg ya definidos y un tercer fichero al que llamaremos "coletilla.txt" con las dos líneas que hemos indicado que hay que agregar al fichero "all.js". Importante que los usuarios tengan acceso al menos de lectura en dicha carpeta.
En la misma carpeta crearemos un fichero llamado configura.cmd cuyo contenido sea:
if exist "C:\Archivos de programa\Mozilla Firefox\autoconfig.cfg" goto fin
copy H:\Mozilla\Firefox\autoconfig.cfg "C:\Archivos de programa\Mozilla Firefox"
type H:\Mozilla\Firefox\coletilla.txt >> "C:\Archivos de programa\Mozilla Firefox\greprefs\all.js"
:fin
Lo que hace es comprobar si ya existe el fichero "autoconfig.cfg" en la carpeta de Firefox. Si no existe, lo copia y agrega la coletilla al fichero "all.js".
Ahora solo hace falta que los usuarios ejecuten el fichero configura.cmd, por ejemplo a través de un login script, y a partir de ahora, podrás realizar los cambios que quieras en el fichero autoconfig.js que serán aplicados por todos los usuarios al siguiente arranque e Firefox.
Espero que os sea de tanta ayuda como a mi. Ahora solo hace falta centralizar la instalación de extensiones... ¿Sabes hacerlo?

