Implementación y uso de SSL para asegurar el tráfico HTTP
La seguridad de los datos almacenados en un servidor de archivos es muy importante en estos días. Los datos comprometidos pueden costar miles de dólares a la empresa. En la última sección, compilamos el módulo de autenticación LDAP en la compilación de Apache para proporcionar un mecanismo de autenticación. Sin embargo, el tráfico HTTP es muy inseguro y todos los datos se transfieren en texto claro, lo que significa que la autenticación LDAP (userid / passwd) también se transmitirá como texto claro. Esto crea un problema. Cualquiera puede oler estos userid / passwd y obtener acceso a la tienda DAV. Para evitar esto, tenemos que cifrar el tráfico HTTP, esencialmente HTTP + SSL o HTTPS. Todo lo que se transfiere a través de HTTPS se cifra, por lo que el ID de usuario / contraseña LDAP no se puede descifrar fácilmente. HTTPS se ejecuta en el puerto 443. La compilación resultante del proceso de compilación de la última sección tendrá Apache para escuchar tanto el puerto 80 (HTTP normal) como el 443 (HTTPS). Si solo va a utilizar este servidor para DAV, le sugiero que cierre el puerto 80. En esta sección del CÓMO proporcionaré información sobre SSL y el mantenimiento de SSL en un servidor HTTP Apache.
6.1. Introducción a SSL
- ¿Es ilegal bloquear el contenido del sitio web para los espectadores que usan adblockers?
- Cómo arreglar mi reputación en línea cuando tengo malas publicaciones sobre mí en varios sitios web
- Cómo ingresar al sitio web oculto en Airbnb
- ¿Puedo codificar un sitio web en un teléfono móvil?
- Cómo web desechar un sitio web sin ser prohibido
SSL (Secure Socket Layer) es una capa de protocolo que existe entre la capa de red y la capa de aplicación. Como su nombre indica, SSL proporciona un mecanismo para encriptar todo tipo de tráfico: LDAP, POP, IMAP y, lo más importante, HTTP.
La siguiente es una estructura sobre simplificada de las capas involucradas en SSL.
6.1.1. Algoritmos de cifrado utilizados en SSL
Hay tres tipos de técnicas criptográficas utilizadas en SSL: clave pública-privada, clave simétrica y firma digital.
Criografía de clave pública-privada: inicio de la conexión SSL: en este algoritmo, el cifrado y el descifrado se realizan mediante un par de claves privadas y públicas. El servidor web contiene la clave privada y envía la clave pública al cliente en el certificado.
- El cliente solicita contenido del servidor web mediante HTTPS.
- El servidor web responde con un Certificado digital que incluye la clave pública del servidor.
- El cliente verifica si el certificado ha expirado.
- Luego, el cliente verifica si la Autoridad de certificación que firmó el certificado es una autoridad confiable que figura en el navegador. Esto explica por qué necesitamos obtener un certificado de una CA confiable.
- ¿Entonces el cliente verifica si el nombre de dominio completo (FQDN) del servidor web coincide con el nombre de comando (CN) en el certificado?
- Si todo tiene éxito, se inicia la conexión SSL.
6.1.2. Garantizar autenticidad e integridad
- Paso 1: en este paso, el mensaje original de “Texto claro” se cifra utilizando la clave privada del remitente, lo que da como resultado el texto cifrado 1. Esto garantiza la autenticidad del remitente.
- Paso 2: en este paso, el “CipherText 1” se cifra utilizando la clave pública del receptor que da como resultado “CipherText 2”. Esto asegurará la autenticidad del receptor, es decir, solo el receptor puede descifrar el mensaje utilizando su clave privada.
- Paso 3: Aquí se crea el Resumen de mensaje SHA1 del “Texto claro”.
- Paso 4: el resumen del mensaje SHA1 se encripta utilizando la clave privada del remitente, lo que da como resultado la firma digital del “texto claro”. El receptor puede usar esta firma digital para garantizar la integridad del mensaje y la autenticidad del remitente.
- Paso 5: La “Firma digital” y el “CipherText 2” se envían al receptor.
6.2. Certificados de prueba
6.3. Certificados para uso en producción
6.4. Cómo generar una CSR
6.5. Instalación de la clave privada del servidor y el certificado del servidor