Optimizando Let’s encrypt Nginx

Bueno ya hace unos meses publique el articulo de #SysAdmin – Asegurar nuestro server web nginx+let’s encrypt+securityheaders bueno después de unas cuantas configuraciones he optimizado mi código el cual comparto con ustedes. Actualmente he logrado la migración del lugares de algunos socios como: frcuba.cu, geocuba.cu, minjus.cu, gacetaoficial.cu, jovenclub.cu, uci.cu Espero que tu seas el proximo

Perfeccionado el Let’s Encrypt

Ubiquemos que tenemos una red donde la única pc que saldría directo a Internet seria el firewall, la misma tiene la función de proxy inverso.

A la hora de sacar el certificado hacemos lo siguiente

Instalación del Let’s Encrypt

Creación del certificado
Para la creación del mismo recomiendo no tener ningún servidor web funcionando en ese momento es decir tener libre el 80 y 443.

En este caso crear el certificado como para dominio.cu

si se dan cuenta ahí hago referencia en a los dominios siguientes:

Esto es para que a la hora de crear los sitios y esas cosas puedas poner un único certificado en las configuraciones de nginx.

Transmitir el certificado a otro servidor

Creamos la llave ssh
ssh-keygen -t rsa

Creamos la llave ssh para el servidor
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Pasamos el Certificado de Let’s Encrypt
rsync -avi –delete /etc/letsencrypt [email protected]:/etc/

Reiniciamos el servicio
ssh [email protected] /etc/init.d/nginx restart

Todos estos comandos una vez que ya lo hicimos la primera vez lo podemos automatizar en un script para que cuando valla a renovar el certificado lo haga automáticamente:

touch ~/ssl.sh
nano ~/ssl.sh

Configuración del Nginx

apt-get install nginx

/etc/nginx/nginx.conf

/etc/nginx/ban_tor_net.conf
Esto es un listado que sacamos de https://www.dan.me.uk/torlist/ para banear en el Nginx las IP Tor aunque se aconseja que se DROP a través de iptables tambien

Bueno ahora pasamos a configurar los Virtual Hosts, en este primer momento lo hace como Proxy Inverso, pero primero crearemos archivos y configuraciones que usaremos en todos nuestros sitios:

Baneamos todas las expresiones de Exploits en Nginx
nano /etc/nginx/ban_exploits.conf

Creamos el favicon que sera para todas nuestras webs en caso que no la tenga y lo ponemos en /var/www
nano /etc/nginx/favicon.conf

Personalizamos las pagina de error del nginx
nano /etc/nginx/error.conf

Creamos la configuración para todos los Dominios que tendran let’s encrypt
Generate Strong Diffie-Hellman Group

nano /etc/nginx/ssl.conf

Eliminamos el VirtualHost por defecto del Nginx
rm /etc/nginx/sites-enabled/default

Ahora para una mejor gestion sugiero crear una conf por cada host virtual que vallas a usar
nano /etc/nginx/sites-enabled/maildominio

En el caso que quieras habilitar el sitio por http y https seria de la siguiente forma

Ya de esta forma debe funcionarte perfectamente el Nginx Proxy Inverso

Configurando el Nginx Web Server

En /etc/nginx/nginx.conf ponemos la misma conf del nginx proxy inverso acá las cosas donde van a variar es en los virtualhost y a la hora de darle soporte al php.

apt-get install nginx php5-fpm mysql-server-5.6 phpmyadmin

nano /etc/nginx/php.conf

Creamos la plantila para el phpmyadmin
ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin
mkdir -p /etc/nginx/templates/
nano /etc/nginx/templates/phpmyadmin.tmpl

Si deseamos darle soporte a un sitio para acceder al phpmyadmin solamente tenemos que poner en http o https del virtualhost lo siguiente
include /etc/nginx/templates/phpmyadmin.tmpl;

Creamos el virtual host para www.dominio.cu con soporte para PHP
mkdir -p /var/www/www.dominio.cu/html
nano /etc/nginx/sites-enabled/www

Creamos el virtual host para download.dominio.cu con soporte para Indexar
nano /etc/nginx/sites-enabled/download

Bueno ya con esto tienes un servidor en Nginx con Let’s Encrypt con todo lo que se debe, cualquier duda o algo me pueden escribir a armandof (at) armandof.com

(Visited 124 times, 1 visits today)
Sobre Armando Felipe Fuentes Denis 120 Artículos
Network Administrator and Telematic Services in Federation of Radio Amateurs of Cuba Residencia: Regla, La Habana Email: [email protected] Movil: +53 58319403

4 Comentarios

  1. Una duda, teniendo internet(usando proxies) y un dominio de 3 o 4 nivel se podria usar para desplegarlo en una lan? o es obligado para poder usarlo tener IPs de cara a internet?
    Saludos

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*