Cómo activar SSL en Apache

by admin

Cómo activar SSL en Apache

Transport Layer Security (TLS) y su predecesora, Secure Sockets Layers (SSL), son protocolos que proporcionan una comunicación segura a través de una red. Cuando el servidor web Apache está configurado para utilizar SSL / TLS, se encriptan las comunicaciones entre el servidor web y el navegador web de un visitante del sitio. Este cifrado protege la comunicación de datos privados, tales como contraseñas y números de tarjetas de crédito. Sin esta seguridad, sistemas maliciosos podrían interceptar y acceder a datos privados o alterar las comunicaciones de tal manera de engañar al navegador en el intercambio de datos con el sistema malicioso. Activación de SSL / TLS en Apache requiere la obtención de un certificado SSL. SSL / TLS anfitrión de Apache escuche en un puerto diferente (generalmente 443) que el estándar, sin garantía de host (normalmente el puerto 80). El visitante accede a la SSL / TLS usando anfitrión "https" en lugar de "http" para el protocolo de direcciones (por ejemplo, https://yoursite.com).

Instrucciones

1 Abra una ventana de terminal conectado a su servidor web.

2 Establecer el directorio de trabajo actual a su directorio de configuración de Apache. Por ejemplo:

cd / etc / apache2 /

3 Crear ssl.key y ssl.crt directorios si es necesario. Por ejemplo:

ssl.key mkdir
ssl.crt mkdir

4 Generar un certificado autofirmado, proporcionando la ubicación y la compañía de nombre solicitado cuando se le solicite, con el siguiente comando:

openssl req -nuevo -x509 -nodes -keyout ssl.key / salida privado server.key ssl.crt / server.crt

El archivo server.key es la clave privada de su servidor. No comparta este archivo. El server.crt es el archivo de certificado.

5 Editar la configuración de Apache (por ejemplo, /etc/apache2/httpd.conf), y añadir las siguientes líneas (añadir a la sección de tipos MIME si hay uno):

AddType application / x-x509-ca-cert .crt
AddType application / x-pkcs7-CRL .crl

6 Agregue o elimine la directiva LoadModule SSL para que apunte a la biblioteca mod_ssl.so en su sistema. Por ejemplo:

LoadModule ssl_module /usr/lib/apache2/mod_ssl.so

7 Añadir la siguiente configuración, reemplazando el ServerName con la dirección de su sitio web, el DocumentRoot al directorio de contenido de su sitio, y el SSLCertificateFile y SSLCertificateKeyFile con la ruta correcta de la clave privada y el certificado que ha creado anteriormente:

escuchar 443
<VirtualHost

por defecto: 443>
ServerName www.example.com:443
DocumentRoot "/ srv / www / htdocs"
SSLEngine en
/etc/apache2/ssl.crt/server.crt SSLCertificateFile
/etc/apache2/ssl.key/server.key SSLCertificateKeyFile
</ VirtualHost>

8 Iniciar o volver a cargar el servidor web Apache como lo haría normalmente.

9 Pruebe la configuración mediante la conexión a su sitio con un navegador web utilizando el https para el protocolo - por ejemplo, https://www.example.com.

Consejos y advertencias

  • Si se configura a sí mismo y construir Apache en lugar de utilizar los binarios pre-construidos, configurar la compilación con --enable-ssl y --enable-SetEnvIf además de otras opciones.
  • Los certificados auto-firmados son suficientes para las pruebas e Intranets. Si está administrando un sitio público, reemplazar el certificado autofirmado con un certificado fehaciente expedido por una autoridad de certificación de confianza, como Verisign, CACert, o en GeoTrust. Vea la sección Recursos para obtener información acerca de las autoridades de certificación.
  • Familiarizarse con la configuración de Apache antes de editarlo. En algunos sistemas, la configuración puede ser dividida en varios archivos y la configuración SSL puede estar en un archivo separado, como ssl.conf, en lugar de httpd.conf.
ETIQUETA: