Añadidos modo terminal y HTML para jota-cert-checker

Hace tiempo publiqué un sencillo script con el que comprobar la fecha de caducidad del certificado SSL de una lista de dominios. Dicho script se llamaba originalmente ssl-cert-expiration-checker y ha sido renombrado a jota-cert-checker. He aprovechado además para añadir unas cuantas funcionalidades más y darle otro modo de uso.

Sigue leyendo

Monitoriza el estado de tu web con worldPing (Grafana)

Cotilleando por la web de Grafana recientemente descubrí worldPing, un plugin que permite monitorizar de forma sencilla el estado de nuestra web, midiendo latencias y disponibilidad a nivel de DNS, servicio HTTP/HTTPS y servidor(ping)

Dichas comprobaciones se hacen desde distintas sondas (probes) repartidas a nivel mundial, pudiendo detectar fallos o lentitud de acceso y disponibilidad desde distintas regiones.

Sigue leyendo

Scripts gnuplot para IOzone

Para representar los resultados de un benchmark con IOzone se suele recurrir casi siempre a LibreOffice Calc o Excel, entre otras cosas porque es el método de representación que aparece más documentado (por ejemplo, en la página man de la utilidad). Sin embargo, existen unos scripts escritos en gnuplot que son unos grandes olvidados y también nos pueden servir para el mismo menester.

En mi distro Debian los encuentro en /usr/share/doc/iozone3/examples/

Sigue leyendo

Steam sin complicaciones con Linux Steam Integration (Solus)

Tiempo ha pasado desde que llegó Steam a Linux. Han mejorado la compatibilidad y cantidad de títulos disponibles, estabilidad del cliente de Steam e integración en general en el ecosistema del pingüino.

Solus, distro que ya de por sí se caracteriza por su simpleza y poner las cosas fáciles para el usuario, ha desarrollado la utilidad Linux Steam Integration para hacer aún más accesible el uso de Steam en Linux. Si instalamos Steam en Solus debería activarse por defecto Linux Steam Integration. Si por alguna razón no lo tenemos podemos instalarlo fácilmente desde el Centro de Software:

Sigue leyendo

Resolución 1366×768 en Guests QEMU/KVM

Para máquinas virtuales con entorno de escritorio siempre suelo tirar de VirtualBox, pero tocó probar con KVM. Además en el portátil, que tiene -como otros muchos- una resolución de 1366×768.

El único problema que encontré es que con el driver de vídeo QXL que aplica por defecto, en un Guest no podemos seleccionar la resolución nativa del portátil:

Sigue leyendo

Script para cargas incrementales de log en Piwik/Matomo

Piwik -recientemente renombrada a Matomo– ya cuenta con un script en Python para importar logs llamado import_logs.py. El problema es que si cargamos el mismo log de Apache por segunda vez, si bien no duplica registros, sí tenemos que esperar a que el script lo parsee. Si esto nos hace perder tiempo, la situación empeora aún más si cargamos en serie varios logs almacenados en un mismo directorio.

Sigue leyendo

Swapeando voy, swapeando vengo

Para ver el uso de swap global de nuestro sistema tenemos multitud de herramientas como vmstat, top, htop, atop, free, /proc/swaps, swapon -s, etc…

Si queremos entrar en más detalle, personalmente me gusta utilizar smem para obtener una lista de todos los procesos del sistema y su uso particular de swap ordenado de mayor a menor uso. Tan sencillo como lanzar:

smem -c "pid command swap" -k -r -t -s swap

Por ejemplo:

Sigue leyendo

De wp-cron a crontab + wp-control

WordPress automatiza la ejecución de tareas repetitivas con wp-cron.php. Este fichero se ejecuta cada vez que un usuario visita el blog, comprobando tareas del core de WordPress (si existen actualizaciones de plugings, temas o del propio core, por ejemplo) como tareas añadidas por plugins (ping a buscadores, limpieza de logs, etc…)

Personalmente me gusta tener más control tanto de la frecuencia con la que se lanza como de las tareas que se ejecutan. Para ello deshabilito la ejecución por defecto de wp-cron.php y lo ejecuto mediante un crontab.

Sigue leyendo

Screencasting en condiciones (SimpleScreenRecorder + codec NVENC)

Si tienes una tarjeta gráfica Nvidia y realizas screencasting te será muy útil conocer el codec nvenc. Normalmente es la CPU quien asume la pesada tarea de codificación de vídeo. Nvenc permite a la GPU asumir la tarea de codificación y liberar a la CPU de dicha carga. El resultado final es obvio: mayor rapidez y fluidez en nuestras grabaciones.

Sigue leyendo

Si el puerto SSH quieres cambiar, fail2ban también deberás ajustar

Y esto sirve tanto para SSH como para otros servicios que estemos protegiendo con fail2ban.

Fail2ban básicamente parsea los logs de diversos servicios en busca de determinados patrones de ataque. Si los encuentra, aplica una regla de bloqueo (por defecto en iptables) de dicho servicio para la IP o IPs infractoras. Si por ejemplo se bloquea SSH para la IP 192.168.2.105, la regla de bloqueo que se aplicará en iptables será en el puerto 22 para dicha IP. Si por ejemplo hemos cambiado el puerto SSH al puerto 2220, dicha regla no va a servir ya que por mucho que bloqueemos a 192.168.2.105 en el puerto 22, seguirá realizando intentos de conexión en el puerto 2220.

En el fichero de configuración principal jail.conf encontramos:

[sshd]

port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Sigue leyendo

HTTPie – Completo e intuitivo cliente HTTP

Ya que es domingo conviene hacer las cosas fáciles. Un sencillo cliente HTTP como HTTPie nunca viene mal y se merece una entradilla en el blog.

Para instalarlo en mi Debian Stretch me ha bastado con:

apt-get install httpie

Si utilizáis alguna derivada como Ubuntu o ElementaryOS también os servirá con apt-get. Para el resto:

# RHEL y derivadas
yum install httpie
# Arch Linux
pacman -S httpie

Sigue leyendo

Aumentar >128 MB la VRAM de una máquina virtual en VirtualBox

Lo ideal sería hacer GPU passthrough en KVM ya que es la solución de virtualización que utilizo para la mayoría de máquinas virtuales locales. El problema es que mi i7-2600k no admite VT-d, requisito imprescindible para hacer passthrough, por lo que es un camino que actualmente tengo capado.

En la GUI de VirtualBox habréis podido ver que el límite de VRAM está en 128 MB:

Sigue leyendo

VirtualHosts basados en nombre y comprobación de certificados con OpenSSL

Si utilizamos VirtualHosts basados en nombre en nuestro frontal web -cosa que suele estar a la orden del día, en primer lugar para ahorrar IPs- debemos tener en cuenta ciertas consideraciones si comprobamos nuestros certificados con OpenSSL.

En una arquitectura como la mencionada, un servidor web Apache o Nginx puede alojar múltiples sitios web (dominios) que comparten una misma IP. Una petición HTTP/HTTPS dirigida contra un dominio específico es resuelta por tanto por el VirtualHost correspondiente. En Apache, por ejemplo, esto se especifica con la directiva ServerName o ServerAlias (si tenemos alias DNS a aplicar) dentro de la configuración de cada VirtualHost:

...
<VirtualHost *:80>
    ServerName www.elarraydejota.com
    DocumentRoot "/www/elarraydejota"
</VirtualHost>

<VirtualHost *:80>
    ServerName www.juliojosesanz.com
    ServerAlias juliojosesanz.com
    DocumentRoot "/www/juliojosesanz"
</VirtualHost>
...

Sigue leyendo