One place for hosting & domains

      Keeping Your Sites and Users Safe Using SSL


      How to Join

      This Tech Talk is free and open to everyone. Register below to get a link to join the live stream or receive the video recording after it airs.

      DateRSVP
      February 25, 2021, 11:00 a.m.–12:00 p.m. ET

      About the Talk

      Keeping your users’ data safe is important in the digital age. People’s entire lives are now online in some way. One of the first things you can do to ensure your users’ safety is to ensure their data is transmitted to you and back securely, and for that, we use SSL. SSL is the tool responsible for HTTPS and the little safe green lock in your browser telling your user that any data they transmit to your site will be done securely.

      In this Tech Talk, I’ll go over SSL, its history and how it works, and how to secure your sites with SSL so that you can keep your users’ data safe.

      What You’ll Learn

      • What SSL is, its history, how it works, and why we need it
      • Securing your Sites with Certbot
      • Modern web servers with SSL on by default (Caddy)

      This Talk is Designed For

      Systems administrators, DevOps engineers, first-time web developers, students.

      Prerequisites

      Knowledge of how to install packages on a Linux operating system and deploy a website to a server using Nginx, Apache, or Caddy. Ubuntu is used in this talk.

      About the Presenter

      Mason Egger is currently a Developer Advocate at DigitalOcean, specializing in cloud infrastructure, distributed systems, and Python. Prior to his work at DigitalOcean, he was an SRE (Site Reliability Engineer), helping build and maintain a highly available hybrid multi-cloud PaaS. He is an avid programmer, speaker, educator, and writer/blogger. He is a maintainer of the DigitalOcean Terraform provider and contributes to random open source projects here and there. In his spare time, he enjoys reading, camping, kayaking, and exploring new places.

      To join the live Tech Talk, register here.



      Source link

      Cómo crear un certificado SSL autofirmado para Apache en Ubuntu 20.04


      Introducción

      TLS, o “seguridad de capa de transporte”, y su predecesor SSL, son protocolos utilizados para envolver el tráfico normal en un envoltorio protegido y cifrado. Usando esta tecnología, los servidores pueden enviar de forma segura información a sus clientes sin que sus mensajes sean interceptados o leídos por una parte externa.

      En esta guía, le mostraremos cómo crear y usar un certificado SSL autofirmado con el servidor web Apache en Ubuntu 20.04.

      Nota: Un certificado autofirmado cifrará la comunicación entre su servidor y cualquier cliente. Sin embargo, dado que no está firmado por ninguna de las autoridades certificadoras de confianza incluidas con los navegadores web y los sistemas operativos, los usuarios no pueden usar el certificado para validar la identidad de su servidor de forma automática. Como resultado, sus usuarios verán un error de seguridad cuando visiten su sitio.

      Debido a esta limitación, los certificados autofirmados no son apropiados para un entorno de producción que sirve al público. Normalmente, se utilizan para probar o para asegurar servicios no críticos utilizados por un solo usuario o un pequeño grupo de usuarios que pueden confiar en la validez del certificado a través de canales de comunicación alternativos.

      Para obtener una solución de certificado más preparado para la producción, consulte Let’s Encrypt, una autoridad de certificado gratuita. Puede aprender a descargar y configurar un certificado Let’s Encrypt en nuestro tutorial Cómo proteger Apache con Let’s Encrypt en Ubuntu 20.04.

      Requisitos previos

      Antes de iniciar este tutorial, necesitará lo siguiente:

      • Acceso a un servidor Ubuntu 20.04 con un usuario no root sudo habilitado. Nuestra guía de configuración inicial de servidor con Ubuntu 20.04 puede mostrarle cómo crear esta cuenta.
      • También deberá tener Apache instalado. Puede instalar Apache usando apt. Primero, actualice el índice de paquetes locales de modo que se refleje cualquier cambio anterior:

      A continuación, instale el paquete apache2:

      Y, por último, si tiene un firewall ufw configurado, abra los puertos http y https:

      • sudo ufw allow "Apache Full"

      Una vez que haya completado estos pasos, asegúrese de haber iniciado sesión como usuario no root y continúe con el tutoria.

      Paso 1: Habilitar mod_ssl

      Antes de poder utilizar cualquiera de los certificados SSL,primero se debe habilitar mod_ssl, un módulo de Apache que proporciona soporte para el cifrado SSL.

      Habilite mod_ssl con el comando a2enmod:

      Reinicie Apache para activar el módulo:

      • sudo systemctl restart apache2

      Ahora está habilitado el módulo mod_ssl y listo para su uso.

      Paso 2: Crear el certificado SSL

      Ahora que Apache está listo para usar cifrado, podemos continuar y generar un nuevo certificado SSL. El certificado almacenará información básica sobre su sitio, y estará acompañado de un archivo de claves que permite al servidor manejar de forma segura datos cifrados.

      Podemos crear la clave SSL y los archivos de certificado con el comando openssl:

      • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

      Tras introducir el comando, aparecerá un mensaje donde puede introducir información sobre su sitio web. Antes de abordar eso, observemos lo que sucede en el comando que emitimos:

      • openssl: es la herramienta de línea de comandos para crear y administrar certificados, claves y otros archivos de OpenSSL.
      • req -x509: especifica que deseamos usar la administración de la solicitud de firma de certificados (CSR) X.509. El “X.509” es un estándar de infraestructura de claves públicas al que se adhieren SSL y TLS para la administración de claves y certificados.
      • -nodes: indica a OpenSSL que omita la opción para proteger nuestro certificado con una frase de contraseña. Necesitamos que Apache pueda leer el archivo, sin intervención del usuario, cuando se inicie el servidor. Una frase de contraseña evitaría que esto suceda porque tendríamos que introducirla tras cada reinicio.
      • -days 365: esta opción establece el tiempo durante el cual el certificado se considerará válido. En este caso, lo configuramos por un año. Muchos navegadores modernos rechazarán cualquier certificado válido por más de un año.
      • -newkey rsa:2048: especifica que deseamos generar un nuevo certificado y una nueva clave al mismo tiempo. No creamos la clave que se requiere para firmar el certificado en un paso anterior, por lo que debemos crearla junto con el certificado. La parte rsa:2048 le indica que cree una clave RSA de 2048 bits de extensión.
      • -keyout: esta línea indica a OpenSSL dónde colocar el archivo de clave privada generado que estamos creando.
      • -out: indica a OpenSSL dónde colocar el certificado que creamos.

      Complete las solicitudes de forma adecuada. La línea más importante es la que solicita Common Name. Debe introducir el nombre de host que utilizará para acceder al servidor o a la IP pública del servidor. Es importante que este campo coincida con lo que pondrá en la barra de direcciones de su navegador para acceder al sitio, ya que un error de concordancia causará más errores de seguridad.

      La lista completa de las instrucciones tendrá un aspecto similar a este:

      Country Name (2 letter code) [XX]:US
      State or Province Name (full name) []:Example
      Locality Name (eg, city) [Default City]:Example 
      Organization Name (eg, company) [Default Company Ltd]:Example Inc
      Organizational Unit Name (eg, section) []:Example Dept
      Common Name (eg, your name or your server's hostname) []:your_domain_or_ip
      Email Address []:[email protected]
      

      Los dos archivos que creó se ubicarán en los subdirectorios correspondientes en /etc/ssl.

      A continuación, actualizaremos nuestra configuración Apache para usar el nuevo certificado y la clave.

      Paso 3: Configurar Apache para usar SSL

      Ahora que tenemos nuestro certificado y la clave autofirmados disponibles, debemos actualizar nuestra configuración Apache para usarlos. En Ubuntu, puede colocar nuevos archivos de configuración de Apache (deben terminar en .conf) en /etc/apache2/sites-available/y se cargarán la próxima vez que se vuelva a cargar o reiniciar el proceso Apache.

      Para este tutorial, crearemos un nuevo archivo de configuración mínimo. (Si ya tiene un Apache <Virtualhost> configurado y solo necesita agregarle SSL, probablemente deberá copiar las líneas de configuración que comienzan con SSL, y cambiar el puerto VirtualHost de 80 a 443. Nos encargaremos del puerto 80 en el siguiente paso).

      Abra un nuevo archivo en el directorio /etc/apache2/sites-available:

      • sudo nano /etc/apache2/sites-available/your_domain_or_ip.conf

      Pegue la siguiente configuración mínima VirtualHost:

      /etc/apache2/sites-available/your_domain_or_ip.conf

      <VirtualHost *:443>
         ServerName your_domain_or_ip
         DocumentRoot /var/www/your_domain_or_ip
      
         SSLEngine on
         SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
         SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
      </VirtualHost>
      
      

      Asegúrese de actualizar la línea ServerName a la que desea que se dirija su servidor. Puede ser un nombre de host, un nombre de dominio completo o una dirección IP. Asegúrese de que lo que elija coincida con Common Name que eligió al crear el certificado.

      Las líneas restantes especifican un directorio DocumentRoot para que sirva los archivos, y las opciones SSL necesarias para apuntar Apache a nuestro certificado y clave recién creados.

      Ahora vamos a crear nuestro DocumentRoot y ponemos un archivo HTML en él solo para fines de prueba:

      • sudo mkdir /var/www/your_domain_or_ip

      Abra un nuevo archivo index.html con su editor de texto:

      • sudo nano /var/www/your_domain_or_ip/index.html

      Pegue lo siguiente en el archivo en blanco:

      /var/www/your_domain_or_ip/index.html

      <h1>it worked!</h1>
      

      Esto no es un archivo HTML completo, por supuesto, pero los navegadores son indulgentes y bastará para verificar nuestra configuración.

      Guarde y cierre el archivo. A continuación, debemos habilitar el archivo de configuración con la herramienta a2ensite:

      • sudo a2ensite your_domain_or_ip.conf

      A continuación, realizaremos una prueba para ver que no haya errores de configuración:

      • sudo apache2ctl configtest

      Si la operación se completa de forma correcta, obtendrá un resultado similar a este:

      Output

      AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Syntax OK

      La primera línea es un mensaje que le indica que la directiva ServerName no está configurada a nivel global. Si quiere deshacerse de ese mensaje, puede establecer ServerName en el nombre de dominio o la dirección IP de su servidor en /etc/apache2/apache2.conf. Esto es opcional, ya que el mensaje no causará problemas.

      Si el resultado contiene Syntax OK, en su archivo de configuración no habrá errores de sintaxis. Podemos volver a cargar Apache de forma segura para implementar nuestros cambios:

      • sudo systemctl reload apache2

      Ahora cargue su sitio en un navegador, asegurándose de usar https:// al principio.

      Debería ver un error. Esto es normal para un certificado autofirmado. El navegador le advierte que no puede verificar la identidad del servidor, porque nuestro certificado no está firmado por ninguna de sus autoridades de certificado conocidas. Para fines de prueba y uso personal, puede estar bien. Debería poder hacer clic en avanzada o más información y elegir continuar.

      Una vez que lo haga, su navegador cargará el mensaje it worked! (¡funcionó!).

      Nota: si su navegador no se conecta en absoluto al servidor, asegúrese de que su conexión no está siendo bloqueada por un firewall. Si utiliza ufw, los siguientes comandos abrirán los puertos 80 y 443:

      • sudo ufw allow "Apache Full"

      A continuación, añadiremos otra sección VirtualHost a nuestra configuración para que sirva las solicitudes HTTP sencillas y las redirija a HTTPS.

      Paso 4: Redirigir HTTP a HTTPS

      Actualmente, nuestra configuración solo responderá a las solicitudes HTTPS en el puerto 443. Es una buena práctica responder también en el puerto 80, incluso si quiere forzar que se cifre todo el tráfico. Configuraremos un VirtualHost para que responda a estas solicitudes no cifradas y las redireccione a HTTPS.

      Abra el mismo archivo de configuración Apache que iniciamos en pasos anteriores:

      • sudo nano /etc/apache2/sites-available/your_domain_or_ip.conf

      En la parte inferior, cree otro bloque VirtualHost para que coincida con las solicitudes en el puerto 80. Utilice la directiva ServerName para que coincida de nuevo con su nombre de dominio o su dirección IP. A continuación, utilice Redirect para que coincida con cualquier solicitud y las envíe al VirtualHost SSL. Asegúrese de incluir la barra de arrastre:

      /etc/apache2/sites-available/your_domain_or_ip.conf

      <VirtualHost *:80>
          ServerName your_domain_or_ip
          Redirect / https://your_domain_or_ip/
      </VirtualHost>
      

      Guarde y cierre este archivo cuando haya terminado, y vuelva a probar la sintaxis de configuración y a cargar Apache:

      • sudo apachectl configtest
      • sudo systemctl reload apache2

      Puede probar la nueva funcionalidad de redireccionamiento visitando su sitio con http:// simple delante de la dirección. Debería redireccionarse a https:// automáticamente.

      Conclusión

      Ahora ha configurado Apache para que sirva las solicitudes cifradas usando un certificado SSL autofirmado, y para redireccionar las solicitudes HTTP no cifradas a HTTPS.

      Si planea usar SSL para un sitio web público, debería pensar en comprar un nombre de dominio y usar una autoridad de certificado ampliamente compatible, como Let’s Encrypt.

      Para obtener más información sobre el uso de Let’s Encrypt con Apache, consulte nuestro tutorial Cómo proteger Apache con Let’s Encrypt en Ubuntu 20.04.



      Source link

      Comment créer un certificat SSL auto-signé pour Apache dans Ubuntu 20.04


      Introduction

      TLS, ou “transport layer security” – et son prédécesseur SSL – sont des protocoles utilisés pour envelopper le trafic normal dans une enveloppe protégée et cryptée. Grâce à cette technologie, les serveurs peuvent envoyer en toute sécurité des informations à leurs clients sans que leurs messages soient interceptés ou lus par une partie extérieure.

      Dans ce guide, nous vous montrerons comment créer et utiliser un certificat SSL auto-signé avec le serveur web Apache sur Ubuntu 20.04.

      Note : un certificat auto-signé cryptera la communication entre votre serveur et les clients éventuels. Cependant, comme il n’est signé par aucune des autorités de certification de confiance incluses avec les navigateurs web et les systèmes d’exploitation, les utilisateurs ne peuvent pas utiliser le certificat pour valider automatiquement l’identité de votre serveur. Par conséquent, vos utilisateurs verront une erreur de sécurité lorsqu’ils visiteront votre site.

      En raison de cette limitation, les certificats auto-signés ne sont pas appropriés pour un environnement de production destiné au public. Ils sont généralement utilisés pour les tests ou pour sécuriser des services non critiques utilisés par un seul utilisateur ou un petit groupe d’utilisateurs qui peuvent établir la confiance dans la validité du certificat par d’autres canaux de communication.

      Pour une solution de certificat plus adaptée à la production, consultez Let’s Encrypt, une autorité de certification gratuite. Vous pouvez apprendre comment télécharger et configurer un certificat Let’s Encrypt dans notre tutoriel Comment sécuriser Apache avec Let’s Encrypt sur Ubuntu 20.04.

      Conditions préalables

      Avant de commencer ce tutoriel, vous aurez besoin des éléments suivants :

      • Un accès à un serveur Ubuntu 20.04 avec un utilisateur non root sudo. Notre guide de configuration initiale du serveur avec Ubuntu 20.04 peut vous montrer comment créer ce compte.
      • Vous devrez également avoir installé Apache. Vous pouvez installer Apache en utilisant apt. Tout d’abord, mettez à jour l’index local des paquets afin de refléter les derniers changements en amont :

      Ensuite, installez le paquet apache2 :

      Enfin, si vous avez installé un pare-feu ufw, ouvrez les ports http et https :

      • sudo ufw allow "Apache Full"

      Une fois ces étapes terminées, assurez-vous que vous êtes connecté en tant que non- root user et poursuivez le tutoriel.

      Étape 1 — Activation de mod_ssl

      Pour pouvoir utiliser un certificat SSL quel qu’il soit, nous devons d’abord activer mod_ssl, un module Apache qui prend en charge le cryptage SSL.

      Activez mod_ssl à l’aide de la commande a2enmod :

      Redémarrez Apache pour activer le module :

      • sudo systemctl restart apache2

      Le module mod_ssl est maintenant activé et prêt à l’emploi.

      Étape 2 – Création du certificat SSL

      Maintenant qu’Apache est prêt à utiliser le cryptage, nous pouvons passer à la génération d’un nouveau certificat SSL. Le certificat stockera quelques informations de base sur votre site, et sera accompagné d’un fichier clé qui permet au serveur de traiter les données cryptées en toute sécurité.

      Nous pouvons créer les fichiers de clés et de certificats SSL avec la commande openssl :

      • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

      Après avoir entré la commande, vous serez amené à une invite où vous pourrez entrer des informations sur votre site web. Avant d’en parler, voyons ce qui se passe dans la commande que nous donnons :

      • openssl : c’est l’outil de ligne de commande utilisé pour la création et la gestion des certificats, clés et autres fichiers OpenSSL.
      • req -x509 : cela spécifie que nous voulons utiliser la gestion des demandes de signature de certificats (CSR) X.509. X.509 est une norme d’infrastructure de clé publique à laquelle SSL et TLS adhèrent pour la gestion des clés et des certificats.
      • -nodes : cela indique à OpenSSL de ne pas utiliser l’option de sécurisation de notre certificat par une phrase de passe. Nous avons besoin qu’Apache soit capable de lire le fichier, sans intervention de l’utilisateur, au démarrage du serveur. Une phrase de passe empêcherait que cela se produise, puisque nous devrions la saisir après chaque redémarrage.
      • -days 365 : cette option fixe la durée pendant laquelle le certificat sera considéré comme valide. Ici, nous l’avons fixée pour un an. De nombreux navigateurs modernes refusent les certificats dont la durée de validité dépasse un an.
      • -newkey rsa:2048 : cette option précise que nous voulons générer un nouveau certificat et une nouvelle clé en même temps. Nous n’avons pas créé la clé nécessaire pour signer le certificat lors d’une étape précédente, nous devons donc la créer en même temps que le certificat. La partie rsa:2048 lui demande de fabriquer une clé RSA de 2048 bits.
      • -keyout : cette ligne indique à OpenSSL où placer le fichier de clé privée généré que nous créons.
      • -out : cela indique à OpenSSL où placer le certificat que nous créons.

      Remplissez les invites de manière appropriée. La ligne la plus importante est celle qui demande le Common Name (nom commun). Vous devez entrer soit le nom d’hôte que vous utiliserez pour accéder au serveur, soit l’adresse IP publique du serveur. Il est important que ce champ corresponde à ce que vous allez mettre dans la barre d’adresse de votre navigateur pour accéder au site, car une mauvaise correspondance entraînera davantage d’erreurs de sécurité.

      La liste complète des invites ressemblera à ceci :

      Country Name (2 letter code) [XX]:US
      State or Province Name (full name) []:Example
      Locality Name (eg, city) [Default City]:Example 
      Organization Name (eg, company) [Default Company Ltd]:Example Inc
      Organizational Unit Name (eg, section) []:Example Dept
      Common Name (eg, your name or your server's hostname) []:your_domain_or_ip
      Email Address []:[email protected]
      

      Les deux fichiers que vous avez créés seront placés dans les sous-répertoires appropriés sous /etc/ssl.

      Ensuite, nous mettrons à jour notre configuration Apache pour utiliser le nouveau certificat et la nouvelle clé.

      Étape 3 – Configuration d’Apache pour utiliser SSL

      Maintenant que nous disposons de notre certificat et de notre clé auto-signés, nous devons mettre à jour notre configuration Apache pour pouvoir les utiliser. Sur Ubuntu, vous pouvez placer de nouveaux fichiers de configuration Apache (ils doivent se terminer par .conf) dans /etc/apache2/sites-available/ et ils seront chargés la prochaine fois que le processus Apache sera rechargé ou redémarré.

      Pour ce tutoriel, nous allons créer un nouveau fichier de configuration minimale. (Si vous avez déjà configuré Apache <Virtualhost> et que vous devez juste y ajouter SSL, vous devrez probablement copier les lignes de configuration qui commencent par SSL, et changer le port du VirtualHost de 80 à 443. Nous nous occuperons du port 80 dans la prochaine étape).

      Ouvrez un nouveau fichier dans le répertoire /etc/apache2/sites-available :

      • sudo nano /etc/apache2/sites-available/your_domain_or_ip.conf

      Collez-y la configuration minimale suivante de VirtualHost :

      /etc/apache2/sites-available/your_domain_or_ip.conf

      <VirtualHost *:443>
         ServerName your_domain_or_ip
         DocumentRoot /var/www/your_domain_or_ip
      
         SSLEngine on
         SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
         SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
      </VirtualHost>
      
      

      Veillez à mettre à jour la ligne ServerName en fonction de la manière dont vous avez l’intention de nommer votre serveur. Il peut s’agir d’un nom d’hôte, d’un nom de domaine complet ou d’une adresse IP. Assurez-vous que ce que vous choisissez correspond au Common Name (nom commun) que vous avez choisi lors de l’établissement du certificat.

      Les lignes restantes indiquent un répertoire DocumentRoot à partir duquel les fichiers seront servis, ainsi que les options SSL nécessaires pour faire pointer Apache vers notre certificat et notre clé nouvellement créés.

      Nous allons maintenant créer notre DocumentRoot et y insérer un fichier HTML à des fins de test :

      • sudo mkdir /var/www/your_domain_or_ip

      Ouvrez un nouveau fichier index.html avec votre éditeur de texte :

      • sudo nano /var/www/your_domain_or_ip/index.html

      Collez ce qui suit dans le fichier vierge :

      /var/www/your_domain_or_ip/index.html

      <h1>it worked!</h1>
      

      Ce n’est pas un fichier HTML complet, bien sûr, mais les navigateurs sont indulgents et cela suffira pour vérifier notre configuration.

      Enregistrez et fermez le fichier. Ensuite, nous devons activer le fichier de configuration avec l’outil a2ensite :

      • sudo a2ensite your_domain_or_ip.conf

      Ensuite, effectuons un test à la recherche d’éventuelles erreurs de configuration :

      • sudo apache2ctl configtest

      Si tout fonctionne correctement, vous obtiendrez un résultat qui ressemble à ceci :

      Output

      AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Syntax OK

      La première ligne est un message vous indiquant que la directive ServerName n’est pas définie globalement. Si vous ne voulez plus voir ce message s’afficher, vous pouvez définir ServerName en spécifiant le nom de domaine ou l’adresse IP de votre serveur dans /etc/apache2/apache2.conf. Ceci est facultatif car le message ne fera pas de mal.

      Si votre sortie contient Syntax OK, votre fichier de configuration ne contient aucune erreur de syntaxe. Nous pouvons recharger Apache en toute sécurité pour que nos modifications soient appliquées :

      • sudo systemctl reload apache2

      Chargez maintenant votre site dans un navigateur, en veillant à utiliser https:// au début.

      Vous devriez voir une erreur. C’est normal pour un certificat auto-signé ! Le navigateur vous avertit qu’il ne peut pas vérifier l’identité du serveur, car notre certificat n’est signé par aucune de ses autorités de certification connues. Pour les tests et l’utilisation personnelle, cela peut être très bien. Vous devriez pouvoir cliquer pour accéder à des informations avancées ou complémentaires et choisir de poursuivre.

      Une fois que vous l’aurez fait, votre navigateur chargera le message it worked! .

      Remarque : si votre navigateur ne se connecte pas du tout au serveur, assurez-vous que votre connexion n’est pas bloquée par un pare-feu. Si vous utilisez ufw, les commandes suivantes ouvriront les ports 80 et 443 :

      • sudo ufw allow "Apache Full"

      Nous allons ensuite ajouter une autre section VirtualHost à notre configuration pour servir les requêtes HTTP simples et les rediriger vers HTTPS.

      Étape 4 — Redirection de HTTP vers HTTPS

      Actuellement, notre configuration ne répondra qu’aux demandes HTTPS sur le port 443. Il est bon de répondre également sur le port 80, même si vous voulez forcer le cryptage de tout le trafic. Mettons en place un VirtualHost pour répondre à ces demandes non cryptées et les rediriger vers le HTTPS.

      Ouvrez le même fichier de configuration Apache que celui que nous avons lancé lors des étapes précédentes :

      • sudo nano /etc/apache2/sites-available/your_domain_or_ip.conf

      En bas, créez un autre bloc VirtualHost pour faire correspondre les demandes sur le port 80. Utilisez la directive ServerName pour faire correspondre à nouveau votre nom de domaine ou votre adresse IP. Ensuite, utilisez Redirect (Rediriger) pour faire correspondre les requêtes et les envoyer au VirtualHost SSL. Veillez à inclure la barre oblique :

      /etc/apache2/sites-available/your_domain_or_ip.conf

      <VirtualHost *:80>
          ServerName your_domain_or_ip
          Redirect / https://your_domain_or_ip/
      </VirtualHost>
      

      Enregistrez et fermez ce fichier lorsque vous avez terminé, puis testez à nouveau la syntaxe de votre configuration, et rechargez Apache :

      • sudo apachectl configtest
      • sudo systemctl reload apache2

      Vous pouvez tester la nouvelle fonctionnalité de redirection en visitant votre site avec le simple http:// devant l’adresse. Vous devriez être redirigé automatiquement vers https://.

      Conclusion

      Vous avez maintenant configuré Apache pour servir des demandes cryptées en utilisant un certificat SSL auto-signé, et pour rediriger les demandes HTTP non cryptées vers HTTPS.

      Si vous envisagez d’utiliser SSL pour un site web public, vous devriez envisager d’acheter un nom de domaine et d’utiliser une autorité de certification largement reconnue telle que Let’s Encrypt.

      Pour plus d’informations sur l’utilisation de Let’s Encrypt avec Apache, veuillez lire notre tutoriel Comment sécuriser Apache avec Let’s Encrypt sur Ubuntu 20.04.



      Source link