Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Certificado TSL para conexión segura HTTPS con Let’s Encrypt y certbot

Imago voragine.net
• Por

Los certificados TSL permiten conectarse de manera segura a un sitio web usando el protocolo HTTPS (secure HTTP). Son conexiones seguras porque los datos que viajan desde el ordenandor del visitante hasta el servidor donde está alojado el sitio web, y viceversa, están encriptados y nadie puede inspeccionarlos.

El protocolo HTTPS encripta los datos utilizando criptografía asimétrica, que utiliza un par de claves: una pública para cifrar la información y otra privada para descifrarla. El servidor HTTPS difunde su clave pública a cualquier ordenador cliente que quiera conectarse a él, y guarda en secreto su clave privada.

El problema con la criptografía asimétrica es estar seguros de que la clave pública corresponde efectivamente al servidor al que se quiere conectar. De lo contrario existe el peligro de conectarse a un servidor que suplante al original.

Para asegurar la autenticidad de la clave pública de un servidor lo más eficaz es conocer una de las personas que gestionan el servidor, encontrarla presencialmente y que nos dé la clave. En un sistema global como internet en el se visitan servidores que están en otros continentes hubo que buscar otra manera. Es en este punto donde entran en juego las entidades de certificación: organizaciones de confianza que certifican la autenticidad de una clave pública.

Let's Encrypt es la primera entidad de certificación que emite certificados gratuitos y de manera automática. El proceso para obtener un certificado se puede hacer íntegramente desde la línea de comandos usando certbot.

Proteger archivos o directorios con contraseña en Apache

Imago voragine.net
[actualizado el ] • Por
Proteger carpetas o archivos accesibles vía HTTP con contraseña permite añadir una capa de seguridad en un servidor web. Se puede hacer usando cualquier gestor de contenidos como WordPress o Drupal de manera trivial, sin embargo hacerlo directamente usando el servidor web, Apache en este caso, evita ejecutar PHP y ahorra recursos de hardware. Esto es especialmente útil si se está intentando evitar un ataque de fuerza bruta.

Cómo lanzar una acción con jQuery cuando se acaba de redimensionar la ventana del navegador

Si se asocia una acción al evento $(window).resize() se ejecuta inmediatamente después de redimensionar la ventana. Como resultado, si se cambia el tamaño de la ventana con el ratón, la acción se lanza muchas veces.

Para lanzar una acción únicamente cuando se ha terminado de cambiar el tamaño de la ventana, es decir, cuando hemos soltado el puntero del ratón, podemos usar el siguiente snippet:

Cómo redirigir todas las URLs de un sitio web cuando se cambia de dominio usando htaccess

Si un sitio web cambia de dominio pero la estructura de enlaces se mantiene es una buena práctica redirigir cada uno de los contenidos en el viejo dominio a su homónimo en el nuevo. Esto se puede conseguir añadiendo unas reglas al archivo .htaccess.

Supongamos que el nuevo dominio es example.net:

Visto en una de las respuestas del hilo .htaccess redirect all pages to new domain de stackoverflow.

Una manera ligera y responsive de poner una imagen de fondo a pantalla completa en una web

Pequeño snippet de CSS para conseguir una web con una imagen de fondo a pantalla completa. La solución funciona en todo tipo de dispositivos, escritorio y móviles.

El último parámetro de background, / contain, es background-size y define cómo se comporta la imagen en diferentes proporciones de pantalla. Dos valores interesantes son contain y cover.

Script para monitorizar y reiniciar automáticamente el servidor de base de datos mysql en caso de fallo

Imago voragine.net
• Por
Hay programas que permiten monitorizar todo un sistema y reiniciar los servicios que se paran o fallan de manera inesperada, todo esto automáticamente. Es el caso de monit, un programa que se ejecuta en segundo plano (daemon) eficaz y que no consume muchos recursos. Sin embargo hay veces que es más rápido y ligero hacer un pequeño script de bash y ejecutarlo periódicamente con cron. Esto es exactamente lo que he hecho para monitorizar el servidor de base de datos de uno de mis servidores web y reiniciarlo en caso de que se pare.