Seguridad y Configuración DNS
SSL (Secure Sockets Layer) y TLS (Transport Layer Security) son protocolos de seguridad que crean una conexión cifrada entre un servidor web y un navegador.
Nota: TLS es la evolución moderna de SSL, pero comúnmente se usa "SSL" para referirse a ambos.
HTTP (HyperText Transfer Protocol):
HTTPS (HTTP Secure):
Todo sucede en milisegundos y es transparente para el usuario
Ejemplo Wildcard: Un certificado para *.ejemplo.com protege blog.ejemplo.com, tienda.ejemplo.com, etc.
El DNS es como la "agenda telefónica de Internet". Traduce nombres de dominio legibles a direcciones IP.
www.google.com en tu navegadorSin DNS: Tendrías que memorizar direcciones IP como 142.250.185.46 en lugar de google.com
| Tipo | Nombre (Ejemplo) | Valor (Ejemplo) | Descripción |
|---|---|---|---|
| A | ejemplo.com www.ejemplo.com |
192.0.2.1 | Apunta a una dirección IPv4. Es el más común para sitios web. |
| AAAA | ejemplo.com | 2001:0db8::1 | Apunta a una dirección IPv6. Versión moderna para más direcciones disponibles. |
| CNAME | www.ejemplo.com blog.ejemplo.com |
ejemplo.com | Crea un alias a otro dominio. No se puede usar en dominio raíz. |
| MX | ejemplo.com | mail.ejemplo.com Prioridad: 10 |
Especifica el servidor de correo para recibir emails del dominio. |
| TXT | ejemplo.com _dmarc.ejemplo.com |
"v=spf1 include:..." | Texto arbitrario. Usado para verificaciones (SPF, DKIM, DMARC, Google, etc). |
| NS | ejemplo.com | ns1.proveedor.com ns2.proveedor.com |
Define los servidores DNS autoritativos del dominio. |
| SRV | _sip._tcp.ejemplo.com | 10 60 5060 sipserver.ejemplo.com | Define servicios específicos (VoIP, chat, etc). Incluye prioridad, peso, puerto y destino. |
| PTR | 1.2.0.192.in-addr.arpa | ejemplo.com | Resuelve una IP a un nombre de dominio (usado en DNS reverso). |
| CAA | ejemplo.com | 0 issue "letsencrypt.org" | Indica qué autoridades certificadoras pueden emitir certificados SSL para el dominio. |
El TTL define cuánto tiempo (en segundos) los servidores DNS deben almacenar en caché un registro antes de consultarlo nuevamente.
Ejemplo práctico: Si cambias la IP de tu servidor, un TTL de 3600s significa que puede tardar hasta 1 hora en actualizarse en todos los DNS.
Antes de implementar en producción, es recomendable configurar un entorno de pruebas local:
El primer paso es generar un certificado autofirmado usando OpenSSL:
Este comando generará tanto la clave privada (.key) como el certificado (.crt) en un solo paso.
Es importante establecer los permisos adecuados para los archivos del certificado:
A continuación, creamos un archivo de configuración para nuestro dominio de desarrollo:
sudo nano /etc/nginx/conf.d/danieldominio.com.confEsta configuración es similar a la de producción, pero usando certificados autofirmados.
Necesitamos crear un directorio para nuestro sitio y asignarle los permisos adecuados:
El servidor web necesita permisos de escritura en este directorio para poder servir los archivos correctamente.
Para simular un dominio real, editamos el archivo hosts del sistema anfitrión:
Finalmente, reiniciamos NGINX para aplicar la configuración y probamos nuestro sitio:
A * 192.0.2.1 3600 ¿Por qué así? Usar * como nombre es útil si quieres que todos los subdominios apunten a la misma IP, el tipo A es el estándar para IPv4, y TTL bajo te ayuda a ver los cambios pronto si necesitas ajustar la configuración.
Antes de instalar Certbot, necesitamos habilitar los repositorios necesarios:
Estos comandos son esenciales para poder instalar Certbot correctamente
Configuramos NGINX con dos bloques de servidor:
Ubicación: /etc/nginx/conf.d/viernesbotanero.online.conf
Una vez configurados los repositorios, instalamos Certbot con el plugin de NGINX:
Este paquete automatiza la configuración SSL en NGINX
Ejecutamos Certbot para obtener e instalar el certificado automáticamente:
¡Certbot configurará automáticamente NGINX con SSL!
El certificado se renovará automáticamente cada 90 días
Has completado la guía de instalación de certificados SSL/TLS
Ahora tu sitio web está más seguro y profesional.
¡Sigue aprendiendo y protegiendo tus proyectos!