Borrar certificados en firefox

Hace unos días he descubierto una particularidad del almacén de certificados de firefox, un bug conocido de hace mucho tiempo y aún sin corregir.

Cuando quieres borrar un certificado de usuario, si tienes establecida una clave maestra (es decir, si tienes protegidos tus certificados con clave) te dirá que te borra el certificado, pero no será cierto, te volverá a aparecer la siguiente vez que visualices los certificados.

Para borrar correctamente un certificado de usuario: Preferencias -> Seguridad -> Quitar el check de usar una clave maestra. Reiniciar el navegador y volver a Preferencias -> Avanzado -> Certificados -> Ver certificados.

Ahora si dejará borrarlos correctamente. Si no habéis reiniciado el navegador, el borrado de certificados será efectivo en el próximo cierre.

Algo curioso y que debería estar documentado o al menos advertido.

AVISO: Este artículo es antiguo y probado en versiones posteriores (de 2018) parece ya funcionar correctamente.

Glacier y tartarus

Esto es un minimanual de como utilizar la herramienta de backup tartarus con amazon glacier.

Definiciones previas:

Tartarus (http://wertarbyte.de/tartarus.shtml) es un inteligente script escrito en bash que sirve para hacer copias de seguridad. Es muy versátil y debido a sus conectores permite usar desde SCP, FTP, FTPS, rsync y casi cualquier otra herramienta de copia. Este script hace un tar del directorio indicado y lo comprime en gzip o bzip además de poder cifrarlo con GNUpg, además, llamándolo con la opción -i (incremental) permite transmitir y guardar en un nuevo fichero sólo los cambios.

Si disponemos de LVM, podremos crear snapshots durante la copia de seguridad y consolidarlos después de la misma para hacer un backup en caliente de datos que están cambiando.

Por otro lado, glacier (http://aws.amazon.com/glacier/) es un servicio de almacenamiento en la nube bastante barato. Con un coste aproximado de un centavo de dólar por giga al mes a octubre de 2013. No obstante, su bajo coste trae aparejado una merma de funcionalidad: Las tareas de recuperación de archivos tardan varias horas, no almacena nombres de archivos sino descripciones de los mismos y las tareas de inventario (listar ficheros) deben solicitarse y también tardan varias horas.

Leer más

CaptchaTrader.py resolving captchas

Another little project that I made some time ago but I forgot to mention: http://serhost.com/projects/captchatrader/.

You can also download it from github: https://github.com/jfsanchez/CaptchaTrader

CaptchaTrader.py is A VERY SIMPLE class written in python that resolves captchas using captchatrader.com web service. It is an example on how to consume web services in python.

I do not condone SPAM, there are several fair uses of this library that I can think of. If you try to use this for sending spam, better go to hell.

I have no relation with captchatrader.com except as a sporadic user.

UPDATE: CaptchaTrader service was closed shortly after I made this script.

Lighttpd con SSL

Todos los servidores web suelen tener métodos bastante estándares para añadir SSL, lo típico cuando se usa OpenSSL es (como ya he explicado en otro articulo anterior):

Generar la clave privada:

openssl genrsa -out serhost.com.key 1024

Generar la solicitud de certificado:

openssl req -new -key serhost.com.key -out serhost.com.csr

Ahora queda o bien enviar esa solicitud a una entidad certificadora (que nos cobrarán: 10$ (registerfly), 20$ (godaddy) a otros precios menos razonables como verisign que intentará cobrar más de 350$ por certificado, todas las compañías hacen lo mismo, pero unas tienen «mas nombre» que otras).

La otra opción es optar también por una entidad certificadora gratuita (cacert.org) que ya no está reconocida ni siquiera por firefox, para lo cual, mejor, autofirmamos nuestro certificado (nos dará un aviso que el certificado no está firmado por una autoridad certificadora de confianza, pero podemos aceptarlo de forma permanente).

Actualización: Desde que se creó este artículo, existen alternativas gratuitas como por ejemplo: letsencrypt.

Para firmarlo y obtener un crt:

openssl x509 -req -days 365 -in serhost.com.csr -signkey serhost.com.key -out serhost.com.crt

Ahora necesitamos el certificado en formato .pem (el .pem no es más que el archivo .key y a continuación el archivo .crt), luego los concatenamos:

cat serhost.com.key serhost.com.crt > serhost.com.pem

En mi caso he guardado todos estos archivos:

  • serhost.com.key
  • serhost.com.csr
  • serhost.com.crt
  • serhost.com.pem

En un directorio: ssl-certs, de modo que tengo todo un poco más clasificado, hay que recordar darles los permisos adecuados (que el propietario sea el usuario con que se ejecuta lighttpd y solo puedan ser accedidos por él).

Una vez tenemos todo esto (vamos a suponer que en: /etc/lighttpd/ssl-certs) editamos el fichero de configuración de lighttpd (que suponemos está en: /etc/lighttpd/lighttpd.conf) y añadimos al final:

var.confdir = "/etc/lighttpd"
$SERVER["socket"] == "127.0.0.1:443" {
ssl.engine = "enable"
ssl.pemfile = var.confdir + "/ssl-certs/serhost.com.pem"
server.name = var.confdir + "serhost.com"
server.document-root = "/var/www/localhost/htdocs/"
}

Las opciones creo que son autoexplicativas, también se puede establecer la opción:

ssl.ca-file = var.confdir + "/entidadcertificadora.crt"

que indicaría donde se encuentra el certificado con que ha sido firmado nuestro propio certificado.

Por último, comentar que lighttpd soporta PHP, python, perl, ruby, y que tiene soporte para virtualhosts y diferentes módulos útiles: mod_proxy, mod_auth, mod_alias, mod_cache, mod_deflate, mod_cgi, mod_accesslog, mod_rewrite, etc, además, sus fuentes comprimidos ocupan unos 700 KB y parece ser que funciona más rápido que apache, una vez compilado a mano con todas las librerías y el man correspondiente ocupa menos de 2 megas (tras pasarle el comando strip).

Más información:

  • Configuración extraída y adaptada de: http://www.varlogarthas.net/blog/2007/03/installing_a_godaddy_ssl_certi.html (el enlace ya no funciona)
  • Lighttpd: http://www.lighttpd.net

BanFromLog

BanFromLog es un script para filtrar las ips del /var/log/auth.log de tu debian (u otra distro si lo personalizas para el auth.log de tu distro) y banearlas. Esto es útil debido a que vienen muchos ataques de fuerza bruta por SSH y es útil ahorrar ancho de banda y CPU.

Cifrado en archivos y particiones

Iba a hacer un mini howto de como hacer una partición o archivo cifrado, pero resulta que ya hay muchos hechos, os pongo los 3 enlaces más interesantes que he encontrado.

http://www.gra2.com/article.php/20030906212453952 => Explica como hacer un fichero o partición cifrado con uno de los algoritmos soportados por el kernel (AES, Blowfish, Twofish, RC5, RC6, Serpent, DES, XOR), además te da la línea que poner al /etc/fstab para que el usuario pueda montar la particion. [[ Copia local del articulo ]]

http://www.esdebian.org/staticpages/ind … 8111531180 => Explica como hacer y montar un archivo cifrado y sin cifrar.

http://bulma.net/body.phtml?nIdNoticia=1970 => Como no, en bulma siempre hay algo interesante sobre el tema.