Activar compresión Brotli en Nginx

En este artículo compilaremos la compresión Brotli para el servidor Nginx.
Consideramos que ya tienes instalado Nginx y ya tienes un sitio web corriendo.

Primer veremos que version tenemos instalada:
nginx -v
# nginx version: nginx/1.20.1

Sabiendo la version bajaremos el codigo fuente desde Nginx:
cd /usr/src
wget https://nginx.org/download/nginx-1.20.1.tar.gz
tar zxvf nginx-1.20.1.tar.gz

Eliminamos el comprimido que bajamos
rm nginx-1.20.1.tar.gz

Clonamos el repositorio de Brotli de Google:

git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init
cd ..

Nos cambiamos al directorio del código de Nginx:
cd nginx-1.20.1

Instalamos algunos programas necesarios:

dnf install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel

Configuramos el código de Nginx para que incluya el módulo de Brotli y lo compilamos:

./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules

Copiamos los archivos a su destino final:
sudo cp objs/*.so /etc/nginx/modules

Cabe hacer notar que el directorio de módulos de nginx cambia de compilación a compilación.

Configuracion de Nginx:

Agregamos los módulos al inicio del archivo /etc/nginx/nginx.conf

load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;

En la parte de http del archivo de configuración agregamos:

brotli on;
brotli_static on;
brotli_types text/plain text/css text/javascript application/javascript text/xml application/xml image/svg+xml application/json;

Probamos la configuración:
nginx -t

Si no muestra error alguno reiniciamos el nginx y listo

systemctl restart nginx

Remover el WordPress Generator Meta Tag

En el archivo functions.php del tema que estas usando, hasta abajo antes del cierre

function remove_generator_filter() { return »; }
if (function_exists(‘add_filter’)) {
$types = array(‘html’, ‘xhtml’, ‘atom’, ‘rss2′, /*’rdf’,*/ ‘comment’, ‘export’);
foreach ($types as $type)
add_filter(‘get_the_generator_’.$type, ‘remove_generator_filter’);
}

Ajustando NGINX para TLS 1.2

Si llegaste aquí es por que estas buscando hacer mas seguro tu servidor NGINX.

Posiblemente llegaste aquí buscando soluciones contra ataques en encriptación tales como BEAST o POODLE.

Lo que tienes que hacer es editar tu archivo nginx.conf y revisar si existe alguna configuración relacionada a SSL y sustituirla directamente por:

    ssl_protocols TLSv1.2;
#  openssl dhparam -out /etc/nginx/dhparam.pem 4096
    ssl_dhparam /etc/nginx/dhparam.pem;

    ssl_prefer_server_ciphers on;
   ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_ecdh_curve secp384r1;

    ssl_session_cache shared:TLS:5m;
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.4.4 8.8.8.8;

Finalmente tienes que ejecutar en la terminal

openssl dhparam -out /etc/nginx/dhparam.pem 4096

Este ultimo comando puede ser un proceso largo dependiendo del la capacidad de procesamiento de tu servidor.

Una vez terminado, reiniciar el nginx y probar los sitios web.

 

Tu servidor solo aceptara ahora conexiones usando TLS 1.2 con los tipos de encripción mas seguros y compatibles para navegadores modernos.

OpenVPN en Centos 6.9

Introducción

¿Quiere acceder a Internet de forma segura desde tu teléfono inteligente o portátil cuando está conectado a una red no confiable como la WiFi de un hotel o cafetería? Una Red Privada Virtual (VPN) le permite atravesar redes no confiables de forma privada y segura como si estuviera en una red privada. El tráfico emerge del servidor VPN y continúa su viaje hasta el destino.

Cuando se combina con conexiones HTTPS, esta configuración le permite proteger sus inicios de sesión y transacciones inalámbricas. Puede evitar las restricciones geográficas y la censura, y proteger su ubicación y cualquier tráfico HTTP no cifrado de la red no confiable. Sigue leyendo

Onyx, el nuevo panel de Plesk

Plesk Onyx… El futuro… HOY

Mucho ha pasado desde que escribí mi último post aquí, hoy les daré una actualización de lo que ha sucedido con la escena de servidores Plesk,  y en este caso de la versión Plesk Onyx que está estrenándose desde hace un par de meses.

Cerramos el año 2016 con una serie de mejoras impresionantes para Plesk, su nuevo panel Onyx entrega mucho más bajo el cofre de lo que puede parecer gracias al trabajo detallado de la compañía y su capacidad de voltear a ver a sus cliente, lo cual ha permitido que mejore sus productos y nos ofrezca una version muy superior a sus anteriores entregas.

Continúa leyendo para saber más

Sigue leyendo

Nginx y Plesk

Desde hace bastante tiempo sé de lo complicado que puede ser un servidor Plesk, sobre todo si tienes sitios de alto volumen.

Algunos de los artículos de este sitio tratan sobre la optimización de servidores web.

Ya conocia el proyecto Nginx y lo habia utilizado parcialmente tal como esta señalado en post previo usando redirecciones con .httaccess

Encontré hace un par de dias la solución perfecta para hacer convivir el Apache en Plesk y el Nginx sacando provecho de lo mejor de ambos.

Sigue leyendo y descubrirás como integrar perfectamente el Nginx con tu Plesk

Sigue leyendo

Firebug

Hace un par de meses encontré este agregado de Firefox, al principio pense que podía ser una lata con la carga de las páginas, pero despues de invaluables momentos en los que me ha ayudado, lo recomiendo ampliamente para los que nos dedicamos al diseño o análisis de sitios web.

Para todo interesado en utilizarlo… pueden descargarlo aqui: http://getfirebug.com/

Ya después comentaré de algunos agregados que han sido cruciales en la optimizacion de mis servidores.

Por lo mientras descarguenlo y usenlo!

Finalmente mod_bandwidth en Plesk

A partir de la versión 8.3 de Plesk nos encontramos con la agradable sorpresa de que ya viene incluido el mod_bandwidth implementado por dominios.

Su uso es muy simple y facil de implementar.

Dentro de cada dominio apartir de la version 8.3 existe un boton nuevo que dice Performance o Rendimiento en la seccion final de iconos del dominio.

En él podemos definir la velocidad máxima de entrega de archivos, asi como el limite de sesiones permitidas.

Es importante que si defines el limite máximo de velocidad, tambien definas el de sesiones máximas, sobre todo en sitios concurridos.

¿Que es SEO?

La magia detrás de los buscadores

El SEO, en inglés Search Engine Optimization, quiere decir en español “optimización en motores de búsqueda”, y se refiere a toda la serie de acciones o medidas a tomar para mejorar la posición de una página o sitio web en los buscadores, para una o varias palabras clave.

La idea tras el concepto no es la de engañar o forzar una página a las primeras posiciones, sino la de optimizar el diseño y enlaces desde y hacia una determinada página de tal manera de que sea indexada correctamente y se tome efectivamente en cuenta la calidad de su contenido para un adecuado posicionamiento.

Sigue leyendo

Seguridad usando la Obscuridad

Estas configuraciones no son en el sentido físico para asegurar el servidor sino más bien para ayudar a protegerlo de ataques automatizados basados en las versiones de los servicios. Si alguien comienza a revisar tu sistema en busca de agujeros de seguridad es muy común que inicie recolectando datos de las versiones de los servicios. Estas instrucciones te ayudarán a desactivar los reportes que comúnmente algunos demonios entregan al reportar su versión.

Sigue leyendo

Creando y usando llaves ssh

Esta pequeña guía tiene como fin explicar la manera de crear e instalar llaves ssh para hacer mas agradables, seguros y rapidos accesos via ssh entre servidores.Una llave ssh consiste en dos partes, hay una llave privada y una llave pública. La llave privada es basicamente eso… privada. Si alguna persona se le permite ver o copiar ese archivo se vuelve posible para esa persona entrar a cualquier server que tenga esta llave ssh instalada. La llave pública se usa para distribuirla entre servidores y puede ser mostrada sin problema. El proceso de autorización de llaves SSH funciona en dos pasos. Cuando yo me conecto a un servidor con la llave privada instalada el cliente de ssh la ofrecerá al servidor remoto.El servidor entonces compara contra el archivo authorized_keys2 que contiene una lista de llaves públicas permitidas para autorizar el acceso. Si este proceso es satisfactorio el server permitirá acceso sin el uso de una contraseña. Este procedimiento es usualmente más rápido. Sigue leyendo

/tmp seguro

Todo sistema necesita carpetas temporales donde se pueda leer y escribir archivos pero estos directorios no deberían tener la capacidad de ejecutar programas o scripts. A pesar de que esto sólo te protegerá de alguien que intente correr un script directamente, te va a ayudar a evitar que muchos rootkits automáticos y ciertos troyanos que son utilizados, se ejecuten. Podrán poner los archivos en el sistema pero les será imposible ejecutarlos para obtener acceso al sistema. Uno de los mas grandes problemas es la inyección de código php via el apache en el cual se forza al apache a dercargar los archivos y luego correrlos como exploit. Asegurar las carpetas temporales es probablemente una de las cosas mas importantes en el proceso de asegurar correctamente tu servidor.

Esto esta diseñado para Redhat, pero los cambios son utilizables en cualquier variante de Linux. Sigue leyendo

El costo real por caída de Sistema o pérdida de la Red de Comunicaciones

No es fácil entender y calcular el costo real por caída de la Red de comunicaciones o la pérdida de información de nuestro negocio, ya que estamos tan inmersos en las operaciones del día con día, que no nos damos cuenta del valor real de nuestra información, así como la oportunidad de servirle oportunamente a nuestros clientes o proveedores. Sigue leyendo