Comment utiliser HTTPS sur le serveur Web Arch Linux

Conditions préalables

  • Un serveur Vultr fonctionnant sous Arch Linux à jour (voir cet article .)
  • Un serveur Web en cours d'exécution, Apache ou Nginx
  • Accès Sudo
    • Les commandes devant être exécutées en tant que root sont préfixées par #, et celles qui peuvent être exécutées en tant qu'utilisateur normal par $. La façon recommandée d'exécuter des commandes en tant que root est, en tant qu'utilisateur normal, de préfixer chacune d'elles avec sudo.
  • Ayez un éditeur de texte installé et familiarisez-vous avec lui, comme vi, vim, nano, emacs ou un autre éditeur similaire.

Service sécurisé via HTTPS

La diffusion de contenu via HTTPS peut utiliser un cryptage extrêmement puissant, de sorte que personne n'interceptant le trafic entre l'utilisateur et le serveur Web ne peut le lire. Il crypte non seulement le trafic lui-même, mais également l'URL à laquelle vous accédez, ce qui peut autrement exposer des informations. Depuis un certain temps, Google détermine en partie le classement des recherches en fonction du fait qu'une page utilise HTTPS, dans le cadre de l'initiative HTTPS Everywhere.

Remarque : une recherche DNS expose le nom de domaine auquel se connecter, mais l'URL entière n'est pas exposée pendant ce processus.

Obtenir un certificat SSL / TLS

Techniquement, TLS a remplacé SSL pour les certificats HTTPS, mais, la plupart des endroits ont simplement continué d'appeler les certificats TLS par le terme plus populaire de certificats SSL. Après une utilisation courante, ce guide fera de même.

Pour utiliser HTTPS, votre serveur Web a besoin d'une clé privée ( .key) pour pouvoir l'utiliser en privé, et d'un certificat ( .crt) pour partager publiquement qui inclut une clé publique. Un certificat doit être signé. Vous pouvez le signer vous-même, mais les navigateurs modernes se plaindront de ne pas reconnaître le signataire. Par exemple, Chrome affiche: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Si seul un groupe privé de personnes utilise le site Web, cela peut être acceptable, car les navigateurs permettront de procéder. Par exemple, sur Chrome, cliquez sur "Avancé", puis sur "Passer à ... (dangereux)"; il affichera toujours "Non sécurisé" et biffera le "https".

Notez que ce processus vous demandera votre pays, état / providence, localité, organisation, unité organisationnelle et noms communs, et votre adresse e-mail; le tout est accessible dans le navigateur de quiconque se connecte à votre site via HTTPS.

Notez également que si vous donnez des certificats d'hôtes virtuels, vous devrez donner des noms de fichiers distincts ci-dessous et les pointer dans vos configurations d'hôte virtuel.

Accédez au répertoire approprié pour votre serveur Web.

Si vous avez installé Apache:

$ cd /etc/httpd/conf

Si vous avez installé Nginx:

$ cd /etc/nginx

Une fois dans le répertoire approprié, générez une clé privée ( server.key) et un certificat auto-signé ( server.crt):

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

Définissez des autorisations en lecture seule et autorisez uniquement la lecture de la clé privée par root:

# chmod 400 server.key
# chmod 444 server.crt

Vous pouvez également obtenir un certificat signé par une autorité de certification approuvée. Vous pouvez payer différentes sociétés (autorités de certification) pour signer votre certificat à votre place. Lors de l'examen des autorités de certification, il peut être important de rechercher quels navigateurs et quelles versions les reconnaîtront. Certaines autorités de certification plus récentes peuvent ne pas être reconnues comme étant plus officielles qu'un certificat auto-signé sur les anciennes versions de navigateur.

Vous avez généralement besoin non seulement d'une adresse IP publique, mais également d'un nom de domaine. Certaines autorités de certification peuvent délivrer un certificat à une adresse IP publique, mais cela se fait rarement.

De nombreux fournisseurs proposent un essai gratuit de 30 jours, ce qui est recommandé pour commencer afin que vous puissiez vous assurer que le processus fonctionne pour vous avant de payer. Les prix peuvent varier de quelques dollars par an à des centaines, selon le type et les options tels que plusieurs domaines ou sous-domaines. Un certificat standard indiquera seulement que l'autorité de signature a vérifié que la personne qui obtient le certificat peut apporter des modifications sur le domaine. Un certificat de validation étendue indiquera également que le signataire a effectué une vérification diligente du demandeur et affichera, dans les navigateurs modernes, une barre verte dans ou près de l'URL. Lors de la vérification que vous pouvez apporter des modifications au domaine, certaines autorités de signature vous demanderont de recevoir des e-mails à une adresse de sondage importante du nom de domaine, telle que[email protected]. Beaucoup offrent une vérification alternative, comme vous donner un fichier à placer sur votre serveur, comme placer leur fichier dans /srv/http/.well-known/pki-validation/Apache ou /usr/share/nginx/html/.well-known/pki-validation/Nginx, pour les configurations de répertoire d'hébergement unique; ou en créant temporairement une entrée CNAME qu'ils vous fournissent dans les enregistrements DNS de votre domaine.

L'autorité de signature que vous choisissez peut avoir des étapes légèrement différentes, mais la plupart accepteront la procédure suivante:

Dans le répertoire approprié, générez une clé privée ( server.key):

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

Définissez la clé privée en lecture seule, uniquement par root:

# chmod 400 server.key

Générez une demande de signature de certificat ( server.csr). Vous devez mettre votre nom de domaine quand il vous le demande Common Nameet vous pouvez laisser le mot de passe du challenge vide:

# openssl req -new -sha256 -key server.key -out server.csr

Définissez la demande de signature de certificat en lecture seule, uniquement par root:

# chmod 400 server.csr

Affichez le contenu de la demande de signature de certificat. Ces informations sont encodées en base64, elles ressembleront donc à des caractères aléatoires:

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

Passez par le processus de votre autorité de signature, et lorsque vous êtes invité à coller dans votre CSR, copiez et collez tout ce fichier, y compris les -----lignes. Selon l'autorité de signature que vous avez choisie et le type de certificat, ils peuvent immédiatement vous remettre le certificat signé, ou cela peut prendre plusieurs jours. Une fois qu'ils vous ont donné le certificat signé, copiez-le (y compris les lignes -----BEGIN CERTIFICATE-----et -----END CERTIFICATE-----) dans un fichier nommé server.crt, dans le répertoire approprié, indiqué ci-dessus pour votre serveur Web, et définissez-le en lecture seule:

# chmod 444 server.crt

Configurez votre serveur Web pour utiliser la clé privée et le certificat

Si vous utilisez un pare-feu, vous devrez activer le trafic TCP entrant vers le port 443.

Pour Apache

Modifiez /etc/httpd/conf/httpd.confet décommentez ces lignes:

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

Notez que si vous utilisez des hôtes virtuels, la modification ci-dessus /etc/httpd/conf/httpd.confutilisera le même certificat sur tous les hôtes. Pour donner à chaque hôte son propre certificat pour éviter que les navigateurs ne se plaignent que le certificat ne correspond pas au nom de domaine, vous devez modifier chacun de leurs fichiers de configuration /etc/httpd/conf/vhosts/pour pointer vers son propre certificat et sa propre clé privée:

  • Remplacez <VirtualHost *:80>par <VirtualHost *:80 *:443>.
  • Dans la VirtualHostsection, ajoutez les éléments suivants:

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

Redémarrez Apache:

# systemctl restart httpd

Pour Nginx

Modifiez /etc/nginx/nginx.confet près du bas, décommentez la HTTPS serversection et modifiez les lignes comme suit:

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

Notez que si vous utilisez des hôtes virtuels, la modification ci-dessus /etc/nginx/nginx.confenverra tous les hôtes à cet emplacement. Pour donner à chaque hôte son propre certificat, vous devez modifier chacun de leurs fichiers de configuration /etc/nginx/sites-enabled/afin d'avoir un bloc serveur supplémentaire pour pointer vers son propre certificat et sa propre clé privée:

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

Redémarrez Nginx:

# systemctl restart nginx


Leave a Comment

Configurer un serveur Team Fortress 2 sur Arch Linux

Configurer un serveur Team Fortress 2 sur Arch Linux

Ce didacticiel explique comment configurer un serveur Team Fortress 2 sur Arch Linux. Je suppose que vous êtes connecté avec un compte dutilisateur non root disposant dun accès sudo

Comment installer Python 3.7 sur un serveur Web Arch Linux

Comment installer Python 3.7 sur un serveur Web Arch Linux

Prérequis Un serveur Vultr fonctionnant sous Arch Linux à jour (voir cet article). Un serveur web en cours dexécution, accès Apache ou Nginx Sudo: les commandes nécessitent

Configurer Mumble Server sur Arch Linux

Configurer Mumble Server sur Arch Linux

Ce tutoriel explique comment configurer un serveur Mumble (Murmur) sur Arch Linux. Tout ce qui est fait dans ce tutoriel est fait en tant quutilisateur root. Installation et

Installer 2019 Arch Linux sur un serveur Vultr

Installer 2019 Arch Linux sur un serveur Vultr

Introduction Arch Linux a une distribution plus petite, mais toujours solide, que les distributions plus populaires. Sa philosophie est assez différente, avec des avantages

Comment installer Perl 5.28 sur un serveur Web Arch Linux

Comment installer Perl 5.28 sur un serveur Web Arch Linux

Prérequis Un serveur Vultr fonctionnant sous Arch Linux à jour (voir cet article). Un serveur web en cours dexécution, accès Apache ou Nginx Sudo: les commandes nécessitent

Comment installer Apache 2.4 sur Arch Linux

Comment installer Apache 2.4 sur Arch Linux

Prérequis Un serveur Vultr exécutant Arch Linux à jour. Consultez ce guide pour plus dinformations. Accès Sudo. Les commandes doivent être exécutées en tant que root ar

Comment installer MongoDB 4.0 sur Arch Linux

Comment installer MongoDB 4.0 sur Arch Linux

Prérequis Un serveur Vultr fonctionnant sous Arch Linux à jour (voir cet article) Accès Sudo: les commandes devant être exécutées en tant que root sont préfixées par #, et une

Comment installer PHP 7.3 sur un serveur Web Arch Linux

Comment installer PHP 7.3 sur un serveur Web Arch Linux

Prérequis Un serveur Vultr exécutant Arch Linux à jour (voir cet article.) Un serveur Web en cours dexécution, soit Apache ou Nginx Sudo. Les commandes nécessitent

Comment installer PostgreSQL 11.1 sur Arch Linux

Comment installer PostgreSQL 11.1 sur Arch Linux

Prérequis Un serveur Vultr fonctionnant sous Arch Linux à jour (voir cet article.) Accès Sudo. Les commandes devant être exécutées en tant que root sont préfixées par # et une

Comment installer MariaDB 10.3 ou MySQL 8.0 sur Arch Linux

Comment installer MariaDB 10.3 ou MySQL 8.0 sur Arch Linux

Prérequis Un serveur Vultr exécutant Arch Linux à jour (voir cet article.) Accès Sudo: les commandes devant être exécutées en tant que root sont préfixées par #, et une

Installer Arch Linux avec Snapshotting Btrfs

Installer Arch Linux avec Snapshotting Btrfs

Préface Arch Linux est une distribution à usage général bien connue pour sa technologie de pointe et sa configuration flexible. Avec les instantanés Btrfs, nous pouvons prendre

Construction de packages sur Arch Linux (y compris lAUR)

Construction de packages sur Arch Linux (y compris lAUR)

Sur Arch Linux, les référentiels officiels sont: core, extra et community. Ces packages sont déjà compilés et ils sont installés via pacman. Pour th

Utilisation de Devtools sur Arch Linux

Utilisation de Devtools sur Arch Linux

Le package Devtools a été initialement conçu pour les utilisateurs de confiance afin de créer correctement des packages pour les référentiels officiels. Cependant, il peut être utilisé par un utilisateur ordinaire

Comment installer Nginx 1.14 sur Arch Linux

Comment installer Nginx 1.14 sur Arch Linux

Prérequis Un serveur Vultr fonctionnant sous Arch Linux à jour (voir cet article.) Accès Sudo. Les commandes devant être exécutées en tant que root sont préfixées par #. Th

Configurer Spigot Server sur Arch Linux

Configurer Spigot Server sur Arch Linux

Ce tutoriel explique comment configurer un serveur Minecraft à laide de Spigot sur Arch Linux. Ce tutoriel suppose que vous êtes un utilisateur normal (non root) et que vous

Configurer un serveur Counter-Strike: Global Offensive (CSGO) sur Arch Linux

Configurer un serveur Counter-Strike: Global Offensive (CSGO) sur Arch Linux

Ce didacticiel explique comment configurer un serveur Counter-Strike: Global Offensive sur Arch Linux. Ce didacticiel suppose que vous vous êtes connecté avec une utilisation standard

Installer Arch Linux sur un serveur Vultr

Installer Arch Linux sur un serveur Vultr

Vultr vous offre la fonctionnalité impressionnante de vous permettre dutiliser votre propre image personnalisée en plus de leurs excellents modèles, ce qui vous permet dexécuter

Utilisation de Makepkg sur Arch Linux

Utilisation de Makepkg sur Arch Linux

Si vous utilisez directement makepkg, cela pollue quelque peu votre système. Le groupe de packages base-devel doit être installé. De cette façon, par défaut, les dépendances nécessaires uniquement

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.