Información
Actualidad
Aquí encontraras noticias de actualidad sobre Gnu Linux y Open Source.

Además de información sobre la comunidad LiGNUx.
Distribuciones y entornos
Información ordenada sobre los diferenes sistema operativos Gnu Linux y las diferentes opciones de entornos gráficos.
Tutoriales y guías
Todos los pasos e informaciones que puedes desear para tu día a día.
Tutoriales
Tutoriales
Programación
Programación
About Us
Get to know the people behind the code and the mission behind the work
how we handle data
Privacy
Security
Legal

Nos hemos mudado de servidor: novedades y características

21 octubre, 2018

¡Hola a todos!

Es probable que en los últimos días hayáis encontrado algún problema visitando LiGNUx, como la imagen de la cabecera cortada o algún error 500 puntual. Se debe a que recientemente hemos migrado todas las páginas de la asociación a un nuevo servidor con un sistema completamente distinto al que estábamos utilizando hasta ahora. En principio, ya está todo solucionado y funcionando correctamente. Si aún sigues viendo la imagen de la cabecera cortada u otro error, refresca el caché de tu navegador dándole a Ctrl + F5.

LiGNUx es una comunidad muy grande, con más de 60.000 usuarios al mes, cientos de miles de peticiones, más de 2.000 artículos publicados, disponemos de una nube, mumble y correo electrónico para los socios de la asociación y muchos añadidos en la página web principal hecha con WordPress. Para mantener una cierta velocidad y estabilidad, necesitamos un sistema que pueda aguantar toda la carga de la asociación. Por ello, hemos realizado una instalación de alto rendimiento en un servidor con características muy interesantes que voy a explicar para los interesados.

Nuevo servidor

Hemos elegido una instancia Cloud con CPU Intel Xeon de arquitectura Skylake, con RAM DDR4 ECC de alta velocidad, discos NVMe en RAID local, red de 1 Gbit y anti-DDOS de 10 Gbit. Lo más interesante es el cambio de SSD a NVMe. Las memorias NVMe son discos de estado sólido "formato RAM" ultra rápidas. Una memoria NVMe como la Samsung 970 EVO supera los 3.000 MB/s mientras que un SSD ofrece una velocidad de 550 MB/s. Por si fuera poco multiplicar por 5 la velocidad, nuestro servidor utiliza este tipo de memorias en RAID, aumentando más aún la velocidad y ofreciendo un excelente nivel de fiabilidad. Al ser un sistema cloud, en cuestión de segundos podemos clonar el servidor y lanzar una copia de éste con otra IP, siendo muy útil, por ejemplo, para tareas de desarrollo o por si existiese algún problema con el servidor original. También podemos poner en funcionamiento una copia del servidor entero del día anterior en cuestión de segundos, para recuperar ante un desastre o un hackeo en el servidor original, por ejemplo.

Nuevo esquema de funcionamiento

Hasta ahora, utilizábamos Apache Web Server como motor principal, por temas de compatibilidad. Dado que LiGNUx tiene mucho tráfico, la carga del servidor con Apache era muy elevada, lo que nos obligó a utilizar un proxy inverso (NGINX) en el mismo servidor utilizándolo como caché para mejorar la velocidad de carga y estabilidad del sistema. Ahora utilizamos NGINX únicamente, como motor web, sistema de cacheo y administrador de caché de FastCGI. Hemos pasado de Oracle MySQL 5.6 a MariaDB 10.3. De mod_php 7.1 a PHP-FPM 7.2. Utilizamos Debian 9 como sistema operativo y el último kernel disponible (ahora mismo versión 4.18), optimizado para rendimiento, seguridad y fiabilidad. Hemos puesto NGINX con soporte para TLS 1.3, PageSpeed, Brotli, GeoIP y Cache-Purge. También hemos puesto la última versión OpenSSL 1.1.1 para poder utilizar TLS 1.3 en NGINX.

Nuevas características

Todo el nuevo esquema de funcionamiento nuevo permite funcionar rápidamente todas las páginas de LiGNUx y más en particular al WordPress principal que es el más pesado y el que más visitas tiene. En general, ahora tenemos un sistema muchísimo más rápido, moderno, seguro y estable. Todas las nuevas características y su explicación:

  • NGINX: Es un motor web de muy alto rendimiento, capaz de procesar cientos de miles de peticiones eficientemente. En comparación con Apache, es difícil de utilizar y requiere código adicional para que sistemas como WordPress funcionen correctamente.
  • MariaDB: Sistema de bases de datos exactamente igual que MySQL pero con mejoras de rendimiento y estabilidad añadidas por los desarrolladores. Con MariaDB y las memorias NVMe, podemos hacer cientos de miles de consultas MySQL por segundo.
  • PHP-FPM: Es un procesador de PHP externo al motor web. Generalmente cuando se utiliza PHP y Apache, se utiliza mod_php, una extensión de Apache que procesa PHP. FPM es un motor externo, muy rápido y ligero, que se conecta en la configuración del motor web. Es muy rápido y seguro. Una de las cosas más importantes para que una página web PHP funcione rápido.
  • Debian 9: Hemos elegido Debian por su extraordinaria fiabilidad y seguridad.
  • HTTP/2 Server Push con ALPN: Con HTTP/2, el último protocolo HTTP disponible, conseguimos enviar muchos recursos a la vez y en la misma respuesta, lo que mejora mucho la velocidad de carga. Con Server Push, una tecnología asociada a HTTP/2, el servidor envía algunos recursos que sabe que el cliente va a utilizar, aunque no lo haya pedido. ALPN es una tecnología de comunicación a nivel de capa de aplicación utilizada entre el servidor y el cliente para decidir qué conexión segura utilizan entre ambos, eligiendo siempre la más segura disponible, lo que aumenta la seguridad de la comunicación.
  • PageSpeed: Es una extensión de NGINX creada por Google para optimizar los recursos de las páginas web. Comprime los recursos, los simplifica, optimiza el HTML y aplica muchas optimizaciones para mejorar lo máximo posible optimización del código. De momento, no lo estamos utilizando al no ser necesario en la web principal de LiGNUx.
  • Brotli: Es el nuevo sistema de compresión, desarrollado por Google. Prácticamente todos los servidores utilizan GZIP, pero muchos están migrando a Brotli dado que comprime mucho más y más eficientemente. Cuando menos pese una web, menos tiene que esperar el cliente a que cargue.
  • TLS 1.3: Última tecnología de cifrado web. Es el sistema más seguro y rápido actualmente disponible, la última tecnología en cifrado. Sólo puedes utilizar TLS 1.3 con un sistema operativo moderno y un navegador web moderno (Chrome 70 y Firefox 63, mínimo)
  • Adiós a SSL y TLS1/1.1: Únicamente podrás visitar LiGNUx utilizando TLS 1.2 o TLS 1.3. Hemos bloqueado SSL, TLS 1.0 y TLS 1.1. SSL está obsoleto desde hace muchos años y las versiones 1.0 y 1.1 de TLS se han catalogado como inseguras, por lo tanto, las hemos bloqueado por seguridad. Siempre que tengas un sistema operativo actualizado, podrás visitar LiGNUx.
  • DNS CAA y HSTS: Hemos aplicado todas las recomendaciones de seguridad, tanto a nivel de servidor como de red.
  • DNSSEC: En 2 o 3 días estará habilitado DNSSEC en LiGNUx, tecnología de cifrado de DNS, para impedir la falsificación y secuestro de DNS.
  • DH y SHA256-RSA 4096: Sólo se puede conectar a LiGNUx a través de encriptación de 4096 bits, misma longitud que todos los certificados de LiGNUx, DKIM 4096, SPF y DMARC para todos los correos de la asociación.

Test de seguridad

 

TLS 1.2 y TLS 1.3

 

HTTP/2 (Server Push todavía no habilitado)

 

Y eso es todo. ¿Qué os parece el cambio? ¿Os funciona rápido la web? ¿Está todo bien? ¡Somos todo oídos ante cualquier sugerencia o problema!

Escrito por David Díaz Villa

Autónomo administrador de sistemas informáticos y asesor tecnológico. Experto en administración avanzada de sistemas informáticos, redes, servidores y páginas web. Asesoro en cuestiones tecnológicas e informáticas a empresas y usuarios.

Suscribirse
Notificarme las
guest
5 Comentarios
Los más recientes
Los más antiguos Más votados
Feedbacks en línea
Ver todos los comentarios
LiGNUx trabaja sobre una licencia de Creative Commons Reconocimiento 4.0 Internacional.
cloudflagpaperclipprinterfile-emptyfilm-playcamera-videopicturelaptop-phonebriefcasecrossmenu
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram