Firefox
Enlaces y referencias
- Ref: Wiki de Mozilla Firefox
- Ref: Descarga de versiones antiguas de Firefox (anteriores a la rama 4)
Complementos
Save to read
Alternativa a Pocket para guardar direcciones para lecturas posteriores. Al contrario que ella únicamente conserva las URL y no las páginas en sí ni sus miniaturas, pero evita tener una cuenta en otro servicio web y se integra perfectamente en FireFox Sync.
Incluye un pequeño símbolo en la barra de direcciones para añadir o quitar rápidamente la dirección de la carpeta donde las guarda.
Recetario
Directorio de trabajo
Es el lugar donde el navegador guarda los datos de navegación y la configuración del usuario. En Debian se puede encontrar en el directorio ~/.mozilla/iceweasel
que en realidad es un enlace simbólico a ~/.mozilla/firefox
.
Dentro de él se encuentra la relación de los perfiles de navegación, y los diferentes directorios raíz de cada uno de ellos.
Preferencias de usuario
Las preferencias de usuario se guardan en un archivo de texto llamado user.js
en el directorio de trabajo del navegador. Dicho archivo está en formato Javascript y suele constar de múltiples llamadas a la función user_pref para fijar las preferencias.
Se caracteriza por:
- Este archivo no existe de en la instalación por defecto, y si el navegador se lo encuentra lo cargará después de leer su configuración normal (archivo prefs.js y derivados) por lo que cualquier valor establecido en él prevalecerá sobre los demás.
- Los comentarios se señalan con la secuencia
//
hasta el final de la línea. - La función user_pref acepta dos parámetros: el nombre de la preferencia y su valor. Cada llamada debe terminar con un carácter punto y coma (
;
) y sólo puede estar una por línea. - Los tipos de preferencias dependen en gran medida de quien vaya a usarlas, bien sea el propio navegador o sus complementos, por lo que no existe una lista definitiva y sus definiciones están muy repartidas. No obstante sí se puede encontrar una relación bastante completa en la documentación oficial.
Ejemplo:
// use Google instead of Netscape for search
user_pref("browser.search.defaulturl","http://www.google.com/");
// La página inicial debe ser la de la empresa
user_pref("browser.startup.homepage", "http://intranet.ejemplo.com");
user_pref("browser.startup.page", 1); //
Preferencias globales
Para fijar preferencias a nivel global, para perfiles existentes y para los nuevos, se recomienda definirlas en el archivo all.js
y situarlo en el directorio de preferencias del sistema, que en Debian corresponde a /etc/iceweasel/pref
.
En este directorio las preferencias se cargan en orden alfabético inverso, por lo que all.js será cargado el último o de los últimos, porque la documentación oficial recomienda que exista mejor un archivo particular con el nombre de la empresa al estilo de all-empresa.js
.
Exportar certificados digitales desde consola
El navegador firefox (o iceweasel en versión Debian) mantiene los certificados digitales en un archivo llamado cert8.db
en el directorio donde se guardan los datos del usuario (que suele ser ~/.mozilla/firefox/
), junto con otro archivo llamado key3.db
que se emplea para guardar la clave maestra con la que se cifran y descifran todos los datos.
Existe un conjunto de programas especializados en manipular esta base de datos que en Debian se encuentran en el paquete libnss3-tools. Para exportar certificados digitales se pueden emplear estas: certutil y pk12util.
Con el programa certutil podemos obtener un listado de los certificados
$ certutil -d /home/victor/.mozilla/firefox/4ybndef7.default/ -L
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
...
W1.RENFE.ES ,,
WebSpace-Forum Server CA ,,
WWW.CITAPREVIA.SANIDADMADRID.ORG ,,
w6.seg-social.es ,,
NOMBRE XXXXX XXXXXX XXXXX - NIF 000000000A's FNMT ID u,u,u
AC RAIZ FNMT-RCM - FNMT-RCM CT,C,c
Network Solutions Certificate Authority ,,
...
Hemos empleado el parámetro -d
para indicar al programa dónde encontrar los archivos, aunque valdría igualmente haber cambiado al directorio en curso.
Ahora vamos a exportar uno de los certificados de usuario en formato pkcs#12 con el otro programa:
$ pk12util -o /tmp/micertificado.p12 -n "NOMBRE XXXXX XXXXXX XXXXX - NIF 000000000A's FNMT ID" -d .
Enter Password or Pin for "NSS Certificate DB":
Enter password for PKCS12 file:
Re-enter password:
pk12util: PKCS12 EXPORT SUCCESSFUL
$
- El certificado a exportar se elije empleando el nickname bajo el que se ha guardado y que como se ve puede ser bastante largo y engorroso.
- La primera contraseña solicitada corresponde a la contraseña maestra de firefox con la que guardamos las contraseñas en el programa.
- La segunda contraseña es aquella bajo la que vamos a proteger el contenedor con el certificado y la clave privada.
- El archivo .p12 puede inspeccionarse emplando openssl.
Perfiles de usuario
El programa firefox permite tener un número variable de perfiles en la misma cuenta de usuario del sistema. Cada perfil abarca los siguientes aspectos:
- Marcadores
- Contraseñas
- Ajustes específicos para cada sitio web.
- Motores de búsqueda
- Diccionario personal
- Histórico de valores en formularios.
- Galletas (cookies)
- Ajustes de certificados de seguridad.
- Ajustes en tipos MIME para descargas.
- Estilos de usuario.
Los datos sobre cada perfil se almacenan en el archivo profiles.ini
y éste suele encontrarse en Linux bajo en la ruta $HOME/.mozilla/firefox/profiles.ini
y en el caso excepcional de Debian en $HOME/.mozilla/iceweasel/profiles.ini
.
Un archivo profiles.ini contiene una sección general y otra particular por cada perfil definido, la síntaxis es sencilla y las variables que puede contener son:
Sección general | |
---|---|
StartWithLastProfile | Comenzar o no con el último perfil empleado a menos que se indique otra cosa en los parámetros de arranque. |
Sección de un perfil | |
Name | Nombre del perfil |
Path | Ruta de acceso a los datos del perfil |
IsRelative | Indica si la ruta contenida en Path es relativa (1) al directorio de configuración de Firefox o es absoluta (0). |
Default | Marca el perfil como el predeterminado. |
Ejemplo de síntaxis:
[General]
StartWithLastProfile=1
[Profile0]
Name=default
IsRelative=1
Path=gbvjyqed.default
[Profile1]
Name=Trabajo
IsRelative=0
Path=/home/victor/lib/profile
Usar un perfil concreto
Se emplea el parámetro -P
con el nombre del perfil según el campo Name del mismo.
$ firefox -P Trabajo
Abrir el gestor de perfiles
En este caso se usa el parámetro -ProfileManager
de esta forma
$ firefox -ProfileManager -no-remote
y se incluye el parámetro -no-remote
para que cree un nuevo proceso y no reutilice algún proceso ya existente con el usuario.
Contenido de un perfil
Marcadores e histórico de navegación | ||
---|---|---|
places.sqlite | Bookmarks | |
Contraseñas | ||
key3.db | Clave de cifrado de las contraseñas | Recordando contraseñas |
signons.sqlite | Base de datos de contraseñas |
Cambiar de sitio un perfil de usuario
Para cambiar de sitio un perfil podemos hacer:
- Cerrar todas las instancias del navegador.
- Mover los archivos del perfil a su nueva localización.
- Editar el archivo de perfiles y modificar el parámetro Path del perfil para que apunte a ese nuevo lugar. Retocar el parámetro IsRelative si indicamos una ruta absoluta como en el caso de que el perfil se almacene fuera del árbol
$HOME/.mozilla/
. - Abrir el navegador (usando el nuevo perfil si nos hemos decidido por crear uno).
Errores y problemas
Impresión
Reiniciar ajustes de impresión
Abrimos el editor de configuración en la siguiente dirección about:config
y buscamos el siguiente valor:
print.print_printer
y seleccionamos la opción reset con el menú contextual.
Después es necesario reiniciar el programa para que los cambios tengan efecto.
Imprimir con CUPS
Para imprimir, Firefox emplea componentes de la librería Gtk que deben estar configurados para que reconozcan el mecanismo de impresión de CUPS.
Es necesario incluir el correspondiente módulo de impresión con el siguiente ajuste en la propiedad
gtk-print-backends = "file,cups,lpr"
bien en el archivo de configuración global /etc/gtk-2.0/gtkrc
si queremos que el cambio sea para toda la máquina, bien en el archivo de configuración personal ~/.gtkrc-2.0
.
sec_error_unknown_issuer
Si al realizar una conexión segura con un sitio -del que ya hemos instalado el certificado raíz- encontramos este error es posible que se necesite un certificado intermedio y que tengan que ser ambos los instalados.
Es el caso de cacert.org y Firefox, que en su versión 4 ha mostrado este error y hasta que no he instalado y reconocido ambos certificados, los de clase 1 y clase 3, no me ha aceptado la conexión.
ssl_error_renegotiation_not_allowed
Debido a una vulnerabilidad descubierta en 2009 en el protocolo SSL/TLS, ampliamente usado en Internet, y ante la imposibilidad de saber si el servidor con el que se establece la conexión está convenientemente actualizado (según el RFC 5746), el navegador Firefox tiene desactivado este mecanismo como valor predeterminado. Este error aparece, pues, al establecer una conexión segura con un servidor que requiere una renegociación.
Lo he encontrado cuando trataba de acceder con la versión 4 del navegador a un sitio de la administración como notificaciones.060.es y para solucionarlo se pueden realizar dos ajustes en la configuración (empleando el URL about:config
en la barra de direcciones) aunque el recomendable es el segundo.
security.ssl.allow_unrestricted_renego_everywhere__temporarily_available_pref = true
- Habilita esta característica sin restricciones pero no está recomendada en absoluto porque supone una brecha en la seguridad al permitir la posibilidad de un ataque tipo MITM.
security.ssl.renego_unrestricted_hosts = notificaciones.060.es
- Define una lista de servidores (separados por comas y sin usar comodines) en los que se permite la renegociación; sólo indicado si existe mucha confianza en los sitios que se indican o no queda otra para poder usar sus servicios.
Desactivar complementos
El complemento add-on compatibility reporter está diseñado para usar otros complementos que desactivados por problemas de número de versión del navegador.