¿Cómo configurar Apache HTTP con certificado SSL?

Aseguremos Apache con certificado SSL / TLS.

Una vez implementado el certificado, el dominio / IP configurado será accesible a través de HTTPS.

Vamos a ponerlo en marcha.

En un nivel alto, haremos lo siguiente.

Install Apache with SSL from Source

Para configurar SSL, Apache HTTP debe compilarse con mod_ssl. Usaré CentOS 7 VM de Océano digital para demostrar esto.

wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .

Nota:: usted puede revise aquí para la última versión

gunzip -c httpd-2.4.25.tar.gz | tar xvf -
./configure --enable-ssl –-enable-so

Nota:: Si está haciendo esto en un servidor nuevo, entonces puede experimentar problemas relacionados con APR, PCRE, OpenSSL y puede consultar el guía para resolver problemas.

Asegúrese de no obtener ningún error del comando de configuración anterior y, a continuación, debe instalar con los comandos make.

make  make install

Como de costumbre, asegúrese de que no haya errores en los comandos anteriores. Esto concluye que tienes instalado un servidor web Apache con soporte SSL.

Getting an SSL Certificate

Hay varias formas de generar y obtener el certificado SSL firmado por la autoridad certificadora.

Si está buscando implementar SSL en el servidor web de Intranet, entonces la mayor parte de la organización tiene un equipo de emisores de certificados internos, por lo que debe consultar con ellos. Pero aún necesita generar una CSR (Solicitud de firma de certificado), y puede hacerlo usando OpenSSL.

Sin embargo, si está buscando asegurar un URL orientada a Internet entonces puede comprar un certificado de VeriSign, Ve papi, Namecheap, CeroSSL, etc., u obtenga un certificado GRATUITO de Vamos a cifrar.

Let's Encrypt es un proyecto de colaboración de la Fundación Linux que ofrece una Certificado SSL / TLS GRATIS. Usaré Let's Encrypt para obtener un certificado para mi dominio: Chandan.io

Hay varias formas de generar RSE, pero la fácil uno que encontré está usando el "SSL GRATIS”Herramienta en línea.

Ingrese la URL que desea proteger

Verifique la propiedad del dominio mediante uno de los métodos enumerados y descargue sus archivos de certificado de dominio.

Obtendrá tres archivos que usaremos a continuación para configurar el servidor web Apache.

  1. clave: este es su archivo de claves y no debe compartirse con nadie públicamente
  2. Certificado: certificado SSL real para su dominio
  3. Ca_bundle - Certificado raíz / intermedio del firmante

Transfiera el archivo descargado al servidor web. Los necesitaremos en breve.

Apache SSL Configuration

Y un paso final sería configurar Apache para que pueda atender la solicitud a través de HTTPS.

LoadModule ssl_module modules/mod_ssl.so  Include conf/extra/httpd-ssl.conf

Usaremos httpd-ssl.conf archivo para configurar los detalles del certificado. Hay lo siguiente que necesita para asegurarse de que existen los parámetros correctos.

  1. SSLCertificateFile: ruta del archivo CRT del certificado que descargó anteriormente
  2. SSLCertificateKeyFile: ruta de archivo de clave privada.a
  3. SSLCertificateChainFile - ruta del archivo ca_bundle.crt

Consejo: es posible que desee crear una nueva carpeta llamada "ssl" y mantener todos los archivos relacionados con el certificado en esta.

SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt" SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt" SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"

A continuación, debe configurar el "Nombre del servidor”Directiva. Por lo general, es su nombre de dominio / URL

ServerName chandan.io
cd /usr/local/apache2/bin  ./apachectl stop  ./apachectl start

Y finalmente, debe asegurarse de que su dominio esté asignado a la IP del servidor web recién configurada. Una vez hecho esto, intente acceder a su dominio con HTTPS.

Y como puede ver, Chandan.io es accesible a través de https con el certificado que configuré.

Los pasos anteriores son esenciales para configurar un certificado SSL, y debe modificar el SSL aún más para endurecer y asegurar lo que expliqué aquí. Antes de la puesta en marcha, es posible que también desee prueba tu servidor web SSL / TLS para garantizar que no esté expuesto a vulnerabilidades de seguridad comunes.

Espero que esto le dé una idea de cómo implementar un certificado SSL en su servidor web Apache, para que la URL sea accesible a través de HTTPS.