Comment sécuriser Apache avec SSL et crypter dans FreeBSD

Comment sécuriser Apache avec SSL et crypter dans FreeBSD

Dans ce tutoriel, nous apprendrons à sécuriser Apache http serveur avec TLS / SSL certificats offerts par Escryptons dans Freebsd 11.X. Nous couvrirons également comment automatiser le processus du renouvellement du certificat pour Lets 'Encrypt.

Lire aussi: Installer, cryptons pour nginx sur freebsd

TLS / SSL Les certificats sont utilisés par Apache Web Server pour crypter la communication entre les nœuds d'extrémité, ou plus ordinaire entre le serveur et le client afin de fournir une sécurité. Let's Encrypt fournit Certbot Utilitaire de ligne de commande, qui est une application qui peut faciliter la façon dont vous pouvez obtenir des certificats de confiance gratuitement.

Exigences:

  1. Installation de FreeBSD 11.X
  2. 10 choses à faire après l'installation FreeBSD
  3. Comment installer Apache, MariaDB et PHP dans FreeBSD

Étape 1: Configurer Apache SSL sur FreeBSD

1. Avant de commencer à installer l'utilitaire CERTBOT et à créer le fichier de configuration TSL pour Apache, Créez d'abord deux répertoires distincts nommés les sites disponibles et compatible avec les sites Dans Apache Root Configuration Directory en émettant les commandes ci-dessous.

Le but de ces deux répertoires est de faciliter la gestion virtuelle de la configuration d'hébergement dans le système, sans modifier l'apache principal httpd.confli Fichier de configuration chaque fois que nous ajoutons un nouvel hôte virtuel.

# MKDIR / USR / LOCAL / ETC / APACHE24 / Sites-disponible # MKDIR / USR / LOCAL / ETC / APACHE24 / SITES-RÉALABLE 

2. Après avoir créé les deux répertoires, ouvrez Apache httpd.confli fichier avec un éditeur de texte et ajouter la ligne suivante près de la fin du fichier comme illustré ci-dessous.

# nano / usr / local / etc / apache24 / httpd.confli 

Ajouter la ligne suivante:

InclutOptional etc / apache24 / sites compatible / *.confli 
Configurer Apache sur FreeBSD

3. Ensuite, activez le TLS Module pour Apache en créant le suivant un nouveau fichier nommé 020_mod_ssl.confli dans modules.d Répertoire avec le contenu suivant.

# nano / usr / local / etc / apache24 / modules.D / 020_MOD_SSL.confli 

Ajouter les lignes suivantes dans le fichier 020_mod_ssl.confli.

Écoutez 443 SSLProtoCol ALL -SSLV2 -SSLV3 SSLCIPHERSuite High: Medium:!anull:!MD5 SSLPassphrasedIalog Breetin SSLSessionCachetimeout 300 
Configuration d'Apache SSL sur FreeBSD

4. Maintenant, non- SSL module de / usr / local / etc / apache24 / httpd.confli Fichier en supprimant le hashtag du début de la ligne suivante comme illustré ci-dessous:

Loadmodule ssl_module libexec / apache24 / mod_ssl.donc 
Activer le module SSL sur Apache

5. Ensuite, créez le TLS Fichier de configuration pour votre domaine dans les sites disponibles Répertoire, de préférence avec le nom de votre domaine, comme présenté dans l'extrait ci-dessous:

# nano / usr / local / etc / apache24 / sites-disponible / bsd.lan-ssl.confli 

Ajouter la configuration VirtualHost suivante dans le fichier BSD.lan-ssl.confli.

 Servername www.ton domaine.com servealias yourDomain.com documentroot "/ usr / local / www / apache24 / data /" sslengine on sslcertificatefile "/ usr / local / etc / letSencrypt / live / www.ton domaine.com / Cert.pem "sslcertificatekeyfile" / usr / local / etc / lesencrypt / live / www.ton domaine.com / privkey.pem "sslcertificatechainfile" / usr / local / etc / lesencrypt / live / www.ton domaine.com / fullchain.pem "ssloptions + stdenvvars ssloptions + stdenvvars Browsermatch" msie [2-5] "\ nokeenve ssl-unclean-shutdown \ downrad-1.0 Force-Response-1.0 CUSTUMLOG "/ var / log / apache / httpd-ssl_request.log "\"% t% h% ssl_protoCol x% ssl_cipher x \ ""% r \""% b ""Les indices d'options suivent les émissions multiples #Allowoverride Contrôles dans les directives que les directives peuvent être placées dans .fichiers htaccess. ALLEROVERRIDE Tous #Contrôles qui peuvent obtenir des choses de ce fichier de serveur nécessitent tous les erreurs accordées ""/ var / log / apache / yourDomain.Error SSL.log ""Customlog"" / var / log / apache / yourDomain.SSL-ACCESS_LOG ""  

Makre sûr de remplacer la variable de nom de domaine à partir de Nom du serveur, Serveurs, Verrure, Coutumelog déclarations en conséquence.

Étape 2: Installer permet à FreeBSD

6. À l'étape suivante, émettez la commande suivante pour installer Certbot utilité fournie par Escryptons, qui sera utilisé pour obtenir Apache TSL certificats gratuits pour votre domaine.

Lors de l'installation Certbot Une série d'invites sera affichée sur votre écran. Utilisez la capture d'écran ci-dessous pour configurer Certbot utilitaire. De plus, la compilation et l'installation de l'utilitaire CERTBOT peuvent prendre un certain temps, selon les ressources de votre machine.

# CD / USR / Ports / Securit 
Installez certbot sur FreeBSD

7. Une fois le processus de compilation terminé, émettez la commande ci-dessous afin de mettre à jour Certbot utilité et Certbot dépendances requises.

# pkg installer PY27-CERTBOT # PKG Installez PY27-ACME 

8. Afin de générer un certificat pour votre domaine, émettez la commande comme illustré ci-dessous. Assurez-vous de fournir le bon emplacement webroot où les fichiers de votre site Web sont stockés dans le système de fichiers (Document de document Directive à partir de votre fichier de configuration de domaine) à l'aide du -w drapeau. Si vous avez plusieurs sous-domaines, ajoutez-les tous avec le -d drapeau.

# Certbot Certonly --webroot -w / usr / local / www / apache24 / data / -d yourDomain.com -d www.ton domaine.com 

Lors de l'obtention du certificat, fournissez une adresse e-mail pour le renouvellement du certificat, appuyez sur A pour convenir avec Let's Encrypt les termes et conditions et n Pour ne pas partager l'adresse e-mail, Scrypt Partners.

Sortie de commande CERTBOT
Sauver le journal de débogage à / var / log / letsencrypt / letSencrypt.Journal Entrez l'adresse e-mail (utilisée pour les avis de renouvellement et de sécurité urgents) (entrez «C» à annuler): [Protégé par e-mail] Il semble y avoir des problèmes avec cette adresse. Entrez l'adresse e-mail (utilisée pour les avis de renouvellement et de sécurité urgents) Si vous souhaitez vraiment ignorer cela, vous pouvez exécuter le client avec --gister-unsafely-without-email, mais assurez-vous de sauvegarder la clé de votre compte à partir de / etc / lesencrypt / Comptes (entrez «C» pour annuler): [Protégé par e-mail] ------------------------------------ ------------------------------------------- Veuillez lire les conditions d'utilisation à https: // lesencrypt.org / documents / le-sa-v1.1.1-août-1-2016.pdf. Vous devez être d'accord afin de vous inscrire auprès du serveur ACME à https: // acme-v01.API.Laissez-le.org / répertoire ----------------------------------------------- -------------------------------- (a) Gree / (C) ANCEL: un ------------------------------------------------------------------------------- Seriez-vous prêt à partager votre adresse e-mail avec la Fondation Electronic Frontier, un partenaire fondateur du projet Let's Encrypt et de l'organisation à but non lucratif qui développe CERTBOT? Nous aimerions vous envoyer un e-mail à propos de l'EFF et de notre travail pour crypter le Web, protéger ses utilisateurs et défendre les droits numériques. ------------------------------------------------------------------------------- (Oui Non: n Obtenir un nouveau certificat exécutant les défis suivants: défi HTTP-01 pour www.domaine.com à l'aide du chemin WebRoot / USR / local / www / apache24 / données pour tous les domaines inégalés. En attente de vérification… le nettoyage des défis des notes importantes: - Félicitations! Votre certificat et votre chaîne ont été enregistrés sur / usr / local / etc / lesencrypt / live / www.ton domaine.com / fullchain.pem. Votre certificat expirera le 2017-11-15. Pour obtenir une version nouvelle ou modifiée de ce certificat à l'avenir, exécutez simplement CERTBOT à nouveau. Pour renouveler non interactivement * Tous * de vos certificats, exécutez ""CERTBOT RENNEY"" - vos informations d'identification de compte ont été enregistrées dans votre répertoire de configuration CERTBOT à / usr / local / etc / LETSENCRYPT. Vous devriez faire une sauvegarde sécurisée de ce dossier maintenant. Ce répertoire de configuration contiendra également des certificats et des clés privées obtenues par certbot, donc la fabrication de sauvegardes régulières de ce dossier est idéale. - Si vous aimez CERTBOT, veuillez envisager de soutenir notre travail en: Don à ISRG / Let's Encrypt: https: // letSencrypt.org / don de don à eff: https: // eff.org / don

9. Après avoir obtenu les certificats de votre domaine, vous pouvez exécuter la commande LS afin de répertorier tous les composants du certificat (chaîne, clé privée, certificat) comme présenté dans l'exemple ci-dessous.

# ls -al / usr / local / etc / lesencrypt / live / www.ton domaine.com / 
Certificat et clés du domaine de liste

Étape 3: Mettez à jour les certificats Apache TLS sur FreeBSD

dix. Afin d'ajouter des certificats de crypte à votre site Web, ouvrez le fichier de configuration Apache pour votre domaine et mettez à jour les lignes suivantes pour refléter le chemin des certificats émis.

# nano / usr / local / etc / apache24 / sites-disponible / bsd.lan-ssl.confli 

Ajoutez ces lignes de certificat TLS:

Sslcertificatefile ""/ usr / local / etc / lesencrypt / live / www.ton domaine.com / Cert.pem ""sslcertificatekeyfile"" / usr / local / etc / lesencrypt / live / www.ton domaine.com / privkey.pem ""sslcertificatechainfile"" / usr / local / etc / lesencrypt / live / www.ton domaine.com / fullchain.pem "" 
Configurer le certificat SSL pour le domaine

11. Enfin, activez le fichier de configuration TLS, en créant un lien symbolique pour votre fichier de configuration TLS de domaine pour compatible avec les sites Répertoire, vérifiez les configurations Apache pour d'éventuelles erreurs de syntaxe et, si la syntaxe est OK, redémarrez le démon Apache en émettant les commandes ci-dessous.

# ln -sf / usr / local / etc / apache24 / sites-disponible / bsd.lan-ssl.conf / usr / local / etc / apache24 / sites-compatible / # apachectl -t # service apache24 redémarrer 

12. Afin de vérifier si le service Apache écoute sur Https port 443, Émettez la commande suivante pour répertorier les prises de réseau HTTPD.

# sockstat -4 | grep httpd 
Vérifiez les ports Apache

13. Vous pouvez accéder à votre adresse de domaine à partir d'un navigateur via le protocole HTTPS afin de confirmer que les certificats de crypte sont appliqués avec succès.

https: // www.ton domaine.com 
Vérifiez le certificat HTTPS Let's Encrypt

14. Afin d'obtenir des informations supplémentaires sur le certificat de crypte émis à partir de la ligne de commande, utilisez le OpenSSL Commande comme suit.

# OpenSSL S_Client -Connect www.ton domaine.com: 443 
Vérifiez les informations sur le certificat de crypte

15. Vous pouvez également vérifier si le trafic est chiffré par un certificat valide fourni par Saisissons Ca à partir d'un appareil mobile comme illustré dans la capture d'écran mobile ci-dessous.

Vérifier permet de crypter le trafic HTTPS

C'est tout! Les clients peuvent désormais visiter votre site Web en toute sécurité, car le trafic qui circule entre le serveur et le navigateur du client est crypté. Pour des tâches plus complexes concernant l'utilitaire CERTBOT, visitez le lien suivant: https: // certbot.effesser.org /

"