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.
- Compile Apache HTTP 2.4.5 con módulo SSL
- Conseguir Certificado SSL
- Configurar Apache para admitir SSL
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.
- Inicie sesión en el servidor Linux con root y descargue la última versión de Apache
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .
Nota:: usted puede revise aquí para la última versión
- Extraer por comando gunzip
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
- Tendrás una nueva carpeta "httpd-2.4.25"
- Entra y ejecuta el siguiente comando de configuración
./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.
- clave: este es su archivo de claves y no debe compartirse con nadie públicamente
- Certificado: certificado SSL real para su dominio
- 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.
- Inicie sesión en el servidor web Apache
- Realice una copia de seguridad del archivo httpd.conf (ubicación predeterminada / usr / local / apache2 / conf /)
- Abra el archivo con el editor vi y asegúrese de que el módulo mod_ssl y httpd-ssl.conf exista y no esté comentado
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.
- SSLCertificateFile – Certificado CRT ruta del archivo que descargó anteriormente
- SSLCertificateKeyFile: ruta de archivo de clave privada.a
- 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.
- Realice una copia de seguridad si es necesario y use el editor vi para modificar el archivo.
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
- Guarde el archivo y reinicie el servidor web Apache
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.