Netdata, navaja suiza para monitorizar el sistema

Ya iba siendo hora de agrupar en una sola herramienta la monitorización de varios componentes del sistema. Netdata no sólo nos proporciona una interfaz HTML sencilla y clara en la que representar los datos, sino que también actúa como recolector de una gran cantidad de métricas de nuestro sistema y servidores adicionales como pueda ser Apache/Nginx o Bases de Datos como veremos a continuación.

Podemos utilizar el instalador genérico para cualquier distribución Linux tal y como comentan en la documentación oficial.

El instalador no debería lanzarse con sudo (en la documentación ya comentan do not sudo this command, it will do it by itself as needed) por lo que debemos configurar nuestro usuario para que utilice sudo. En una distro como Ubuntu por defecto solemos tener nuestro usuario con los permisos correspondientes. Sin embargo, en el caso de Debian personalmente no utilizo sudo por lo que para probar netdata tuve primero que instalaro con apt-get install sudo y posteriormente incluir mi usuario jota en el grupo sudo:

usermod -aG sudo jota

Sigue leyendo

Shellcheck: revisión y análisis de código de shell scripts

Para todos los niveles de experiencia en scripting, Shellcheck realiza una comprobación de estándar POSIX, posibles problemas en expansión de variables, variables no utilizadas, errores sintácticos o en construcciones lógicas (como bucles for/while o condicionales if) etc… Proporcionando también sugerencias para lograr una mayor robustez del código de nuestros scripts.

Sigue leyendo

Mod_security – Whitelist para googlebot (y otros crawlers legítimos)

Si bien mod_security nos proporciona una capa más de seguridad en nuestro servidor web Apache, pueden darse casos en los que queden bloqueadas peticiones legítimas que tendremos que dejar pasar por nuestro WAF. Por norma general siempre hay que personalizar o bien las reglas o el comportamiento global del módulo para añadir ciertas excepciones.

Algunos problemas y quebraderos de cabeza surgen con el bloqueo de crawlers web legítimos evitando así que nuestro contenido sea correctamente indexado. Pongamos como ejemplos a Google, Bing… Éstos tienen sus propios bots que deberán tener acceso a nuestra web, siempre siguiendo las normas de robots.txt si están “bien educados”.

Sigue leyendo

Combo PSAD + fwsnort para iptables

Habiendo visto ya la manera de bloquear una IP o grupos de IPs, vamos a revisar dos herramientas que son de gran utilidad como complemento a iptables:

  • Utilizaremos PSAD (Port Scan Attack Detector) para parsear logs de iptables, detectar y opcionalmente bloquear IPs infractoras. Si conocéis fail2ban el mecanismo es prácticamente el mismo, pero esta vez aplicado al servicio de iptables.

  • Por otro lado, fwsnort podemos considerarlo un complemento a nuestra configuración de iptables. Su función es generar reglas para bloquear tráfico traduciendo reglas del conocido IDS Snort.

Para el artículo me baso en Debian Stretch, por lo que también aplica a cualquier derivada.

Sigue leyendo

Probando Kimchi para administrar entornos virtuales KVM en Ubuntu 16.04 LTS

Tanto en mi sobremesa con Debian Stretch como en mi portátil con Ubuntu 16.04 tengo prácticamente todas mis máquinas virtuales corriendo con KVM. Acostumbrado a virt-manager, decidí probar Kimchi en el portátil para administrar el entorno virtual.

Kimchi no es más que una interfaz web escrita en HTML5 que sirve para administrar de una forma sencilla e intuitiva nuestro entorno de máquinas virtuales KVM. Dada su facilidad de uso es idónea para iniciarse en entornos de virtualización. IBM, por ejemplo, la incluye actualmente en su solución PowerKVM.
Sigue leyendo

De HTTP a HTTPS con Let’s Encrypt en modo manual (Debian)

Lenta pero inexorablemente el protocolo HTTPS se está convirtiendo en un nuevo estándar mínimo a cumplir para la mayoría de webs. Los principales navegadores y buscadores como Firefox o Chrome ya vienen anunciándolo hace tiempo. Se trata de una evolución que no sólo afectará a webs de medios de pago, sino también a blogs, periódicos online, etc…

Por suerte, actualmente contamos con Let’s Encrypt como Autoridad Certificadora abierta, gratuita y fruto del trabajo conjunto de organizaciones como Mozilla, Cisco o la EFF.

El proceso de certificación SSL con Let’s Encrypt constará principalmente de dos fases:

  1. Validación (challenge) contra la CA de Let’s Encrypt para verificar que somos los propietarios del dominio del que se va a generar un certificado SSL.
  2. Instalación del certificado en el servidor web Apache.

Posteriormente, también debemos tener en cuenta cómo renovar nuestro certificado.

Sigue leyendo

Revisión del total de sockets abiertos (totsck) reportado por sar

Normalmente utilizo sar para revisar diversas métricas del sistema. Su uso es sencillo y permite acceder rápidamente a históricos de rendimiento para analizar múltiples recursos como pueden ser CPU, RAM, etc… Recientemente estuve revisando el uso de sockets para el proyecto sarviewer y creo que los valores reportados por sar pueden llevar a cierta confusión.

Pongamos un ejemplo:

Sigue leyendo

Pasando lista a los crawlers que visitan nuestra web

La respuesta la tenemos en los logs de nuestro servidor web Apache o Nginx. Siempre y cuando nuestro formato de logs contenga información sobre el User-Agent que visita nuestra web.

Por ejemplo para Apache servirían los siguientes formatos:

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{User-agent}i" agent

En el caso de Nginx:

log_format combined '$remote_addr - $remote_user [$time_local] '
                    '"$request" $status $body_bytes_sent '
                    '"$http_referer" "$http_user_agent"';

Sigue leyendo

Sencillos backups del sistema con TAR

Existen multitud de herramientas con las que hacer backup de nuestro sistema. Desde sencillas para entornos de escritorio como Déjà Dup a utilidades para entornos empresariales y de producción como Bacula, Veeam Backup o Acronis Backup and Recovery.

En función del entorno en el que nos encontremos utilizaremos herramientas empresariales o soluciones más locales y hechas a medida. Conviene tener siempre en cuenta el clásico tar para realizar backups de nuestro sistema, tanto si es nuestra única solución como si queremos utilizarlo de forma complementaria junto con otras utilidades.

Sigue leyendo

Trasteando con módulos del kernel Linux

Tarde o temprano te va a tocar. Vamos a hacer un repaso práctico y humano sobre cómo trabajar con los módulos de Linux.

Lsmod – Lista de módulos del sistema

El primer paso es tener un vistazo de todos los módulos que tenemos en nuestro sistema con lsmod:

[root@jota-pc ~]# lsmod 
Module                  Size  Used by
nls_ascii              16384  1
nls_cp437              20480  1
vfat                   20480  1
fat                    69632  1 vfat
vhost_net              20480  3
vhost                  45056  1 vhost_net
macvtap                24576  1 vhost_net
macvlan                24576  1 macvtap
tun                    28672  7 vhost_net
ses                    20480  0
enclosure              16384  1 ses
scsi_transport_sas     45056  1 ses
uas                    24576  1
usb_storage            73728  4 uas
fuse                   98304  9
ebtable_filter         16384  0
ebtables               36864  1 ebtable_filter
pci_stub               16384  1
vboxpci                24576  0
vboxnetadp             28672  0
vboxnetflt             28672  0
vboxdrv               458752  3 vboxnetadp,vboxnetflt,vboxpci
bridge                135168  0
stp                    16384  1 bridge
llc                    16384  2 bridge,stp
ip6table_filter        16384  0
ip6_tables             28672  1 ip6table_filter
nf_log_ipv4            16384  1
nf_log_common          16384  1 nf_log_ipv4
...

Sigue leyendo

How can I help? Debian responde

Si te has preguntado cómo contribuir al Proyecto Debian podrás comprobar que existe un amplio abanico de opciones: traducción de documentación, donaciones, probar software, soporte a usuarios en listas de correo… todo ello está recogido y explicado en la sección correspondiente la web de Debian.

Sigue leyendo

Recolección de métricas adicionales en sar (sysstat)

La herramienta sar (paquete sysstat) recolecta por defecto datos relativos a memoria RAM utilizada, carga de sistema, uso de CPU, swap, etc… pero existen una serie de métricas que tendremos que activar nosotros manualmente. Evidentemente cuantas más métricas activemos más recursos necesitará el demonio para realizar las tareas de recolección correspondientes, por lo que tendremos que considerar cuáles activar especialmente en servidores de producción.

Sigue leyendo