Correction de liens morts
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/514
|
||||
date: '2012-02-06 03:23:00'
|
||||
date: "2012-02-06 03:23:00"
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120618100138/http://ingnu.fr/2012/02/06/creation-de-sa-propre-autorite-de-certification/
|
||||
- lang: fr
|
||||
name: Archive
|
||||
url: http://ingnu.fr/2012/02/06/creation-de-sa-propre-autorite-de-certification/
|
||||
tags:
|
||||
- Autorité
|
||||
- Certification
|
||||
- Certificats
|
||||
- OpenSSL
|
||||
- Autorité
|
||||
- Certification
|
||||
- Certificats
|
||||
- OpenSSL
|
||||
title: Création de sa propre autorité de certification
|
||||
weather:
|
||||
humidity: 57
|
||||
@@ -19,14 +19,14 @@ weather:
|
||||
precipitations: false
|
||||
pressure: 1027.9
|
||||
source:
|
||||
- open-meteo
|
||||
- open-meteo
|
||||
temperature: -10.4
|
||||
wind_direction: 73
|
||||
wind_speed: 8.7
|
||||
weight: 3
|
||||
---
|
||||
|
||||
J'avais [initialement](https://web.archive.org/web/20120618100138/http://ingnu.fr/2012/02/05/installer-et-configurer-un-serveur-dns/) prévu d'aborder dans un troisième article la configuration d'un serveur mail, mais il fallait d'abord que j'explique comment mettre en place une autorité de certification, puisque nous allons nous en servir dans la configuration du serveur mail, mais aussi pour bien d'autres services que nous verrons ultérieurement.
|
||||
J'avais [initialement](http://ingnu.fr/2012/02/05/installer-et-configurer-un-serveur-dns/) prévu d'aborder dans un troisième article la configuration d'un serveur mail, mais il fallait d'abord que j'explique comment mettre en place une autorité de certification, puisque nous allons nous en servir dans la configuration du serveur mail, mais aussi pour bien d'autres services que nous verrons ultérieurement.
|
||||
|
||||
À l'issue de cet article, vous aurez à disposition une série de scripts qui vous permettront de mettre rapidement et facilement en place des certificats pour tous types d'applications.
|
||||
|
||||
@@ -38,7 +38,7 @@ Personne ne cherchera donc à passer des semaines ou des mois à casser le chiff
|
||||
|
||||
Notice : En revanche, ils seront bien utiles pour chiffrer les données qui transitent sur votre réseau.
|
||||
|
||||
Important : [VeriSign](https://web.archive.org/web/20120618100138/http://www.verisign.com/ssl/index.html?tid=gnps)
|
||||
Important : [VeriSign](http://www.verisign.com/ssl/index.html?tid=gnps)
|
||||
|
||||
Créons tout d'abord un répertoire dédié à nos scripts :
|
||||
|
||||
@@ -64,7 +64,7 @@ nano openssl.cnf
|
||||
|
||||
On édite ce fichier pour y modifier les variables suivantes :
|
||||
|
||||
- Dans la catégorie *[CA_default]*, mettez les valeurs suivantes :
|
||||
- Dans la catégorie _[CA_default]_, mettez les valeurs suivantes :
|
||||
|
||||
```text
|
||||
dir = /scripts/certificate_authority
|
||||
@@ -82,16 +82,16 @@ private_key = $dir/ca.key
|
||||
RANDFILE = $dir/.rand
|
||||
```
|
||||
|
||||
- Dans la catégorie *[req_distinguished_name]*, renseignez les valeurs suivantes :
|
||||
- Dans la catégorie _[req_distinguished_name]_, renseignez les valeurs suivantes :
|
||||
|
||||
- *countryName_default*
|
||||
- *stateOrProvinceName_default*
|
||||
- *localityName_default*
|
||||
- *0.organizationName_default*
|
||||
- *emailAddress_default*
|
||||
- _countryName_default_
|
||||
- _stateOrProvinceName_default_
|
||||
- _localityName_default_
|
||||
- _0.organizationName_default_
|
||||
- _emailAddress_default_
|
||||
|
||||
Enregistrez puis fermez ce fichier.
|
||||
On va ensuite créer le fichier *create_ca*, qui aura pour but de créer l'autorité de certification.
|
||||
On va ensuite créer le fichier _create_ca_, qui aura pour but de créer l'autorité de certification.
|
||||
L'autorité de certification n'est à créer qu'une seule fois, mais le fait de créer un script pour le faire permettra, en cas de besoin, de retrouver les commandes nécessaires.
|
||||
À noter que nous allons créer un certificat dont la validité est de 10 ans (3650 jours).
|
||||
|
||||
@@ -120,7 +120,7 @@ chmod 0400 ca.key
|
||||
chmod 700 create_ca
|
||||
```
|
||||
|
||||
Cette dernière commande nous assure que personne à part *root* ne peut exécuter ce fichier.
|
||||
Cette dernière commande nous assure que personne à part _root_ ne peut exécuter ce fichier.
|
||||
Ce que nous allons faire immédiatement :
|
||||
|
||||
```bash
|
||||
@@ -128,10 +128,10 @@ Ce que nous allons faire immédiatement :
|
||||
```
|
||||
|
||||
Après vous avoir demandé un mot de passe (qu'il est impératif de renseigner), quelques questions vont vous être posées.
|
||||
La plupart contient déjà les réponses pré-replies dans le fichier *openssl.cnf* que nous avons édité plus tôt.
|
||||
Seule la variable *Organizational Unit Name* est à spécifier (mettez ce que vous voulez, par exemple "*Certificate Authority*"), et la variable *Common Name*, qui devrait contenir votre nom de domaine principal.
|
||||
La plupart contient déjà les réponses pré-replies dans le fichier _openssl.cnf_ que nous avons édité plus tôt.
|
||||
Seule la variable _Organizational Unit Name_ est à spécifier (mettez ce que vous voulez, par exemple "_Certificate Authority_"), et la variable _Common Name_, qui devrait contenir votre nom de domaine principal.
|
||||
|
||||
Une fois la commande exécutée et les variables spécifiées, trois nouveaux fichiers ont été créés dans le répertoire de travail (*/scripts/certificate_authority*) : *ca.csr* (la demande de certificat), *ca.crt* (le certificat principal) et *ca.key* (la clé privée).
|
||||
Une fois la commande exécutée et les variables spécifiées, trois nouveaux fichiers ont été créés dans le répertoire de travail (_/scripts/certificate_authority_) : _ca.csr_ (la demande de certificat), _ca.crt_ (le certificat principal) et _ca.key_ (la clé privée).
|
||||
On peut désormais créer de nouveaux certificats, à l'aide d'un nouveau script :
|
||||
|
||||
```bash
|
||||
@@ -265,7 +265,7 @@ La syntaxe est la même que précédemment :
|
||||
./sign_request <application> <domaine>
|
||||
```
|
||||
|
||||
La signature du certificat va générer un fichier portant l'extension *.crt* : c'est celui-ci qui sera notamment utilisé à travers les applications.
|
||||
La signature du certificat va générer un fichier portant l'extension _.crt_ : c'est celui-ci qui sera notamment utilisé à travers les applications.
|
||||
|
||||
La procédure pour créer un certificat valide est donc la suivante.
|
||||
Nous admettrons pour l'exemple que nous travaillons avec apache.
|
||||
@@ -275,6 +275,6 @@ Nous admettrons pour l'exemple que nous travaillons avec apache.
|
||||
./sign_request apache exemple.fr
|
||||
```
|
||||
|
||||
Cela aura pour conséquence de créer un répertoire apache dans le répertoire */scripts/certificate_authority*, qui contiendra vos certificats, demandes, et clés spécifiques à apache.
|
||||
Cela aura pour conséquence de créer un répertoire apache dans le répertoire _/scripts/certificate_authority_, qui contiendra vos certificats, demandes, et clés spécifiques à apache.
|
||||
|
||||
Vous disposez désormais d'un ensemble complet d'outils pour générer facilement les certificats dont vous aurez besoin plus tard, et notamment lors de la mise en place du serveur mail, prochaine étape de la création de votre cloud personnel.
|
||||
Vous disposez désormais d'un ensemble complet d'outils pour générer facilement les certificats dont vous aurez besoin plus tard, et notamment lors de la mise en place du serveur mail, prochaine étape de la création de votre cloud personnel.
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
---
|
||||
comments_url: https://com.richard-dern.fr/post/515
|
||||
date: '2012-02-06 17:53:00'
|
||||
date: "2012-02-06 17:53:00"
|
||||
dossier:
|
||||
- Créer son propre Cloud
|
||||
- Créer son propre Cloud
|
||||
links:
|
||||
- lang: fr
|
||||
name: Page d'origine sur Archive.org
|
||||
url: https://web.archive.org/web/20120621224105/http://ingnu.fr/2012/02/06/installation-de-son-propre-serveur-mail/
|
||||
- lang: fr
|
||||
name: Archive
|
||||
url: http://ingnu.fr/2012/02/06/installation-de-son-propre-serveur-mail/
|
||||
tags:
|
||||
- Amavis
|
||||
- ClamAV
|
||||
- Dovecot
|
||||
- IMAP
|
||||
- Postfix
|
||||
- SMTP
|
||||
- Amavis
|
||||
- ClamAV
|
||||
- Dovecot
|
||||
- IMAP
|
||||
- Postfix
|
||||
- SMTP
|
||||
title: Installation de son propre serveur mail
|
||||
weather:
|
||||
humidity: 46
|
||||
@@ -21,26 +21,26 @@ weather:
|
||||
precipitations: false
|
||||
pressure: 1028.7
|
||||
source:
|
||||
- open-meteo
|
||||
- open-meteo
|
||||
temperature: -7.7
|
||||
wind_direction: 65
|
||||
wind_speed: 9.5
|
||||
weight: 4
|
||||
---
|
||||
|
||||
Le quatrième article de la [nouvelle rubrique](https://web.archive.org/web/20120621224105/http://ingnu.fr/category/creer-son-propre-cloud/) va donc traiter de l'installation de son propre serveur mail, élément indispensable de la chaîne de communication.
|
||||
Le quatrième article de la [nouvelle rubrique](http://ingnu.fr/category/creer-son-propre-cloud/) va donc traiter de l'installation de son propre serveur mail, élément indispensable de la chaîne de communication.
|
||||
Il existe déjà de nombreux tutoriels sur Internet, parfois très bien faits, parfois incomplets ou inadaptés.
|
||||
Je ne prétends pas que mon article sera mieux que les autres, j'espère seulement qu'il trouvera son public.
|
||||
|
||||
Notre serveur mail devra être sécurisé : nous ferons appel au chiffrement, ainsi qu'à diverses applications permettant de filtrer spam et virus, le plus efficacement possible, sans pour autant bloquer les correspondances légitimes (il m'est arrivé que certaines personnes utilisant un serveur SMTP wanadoo (sic) se retrouvent bloquées par mon serveur, à cause d'un non respect du protocole SMTP...).
|
||||
|
||||
Nous utiliserons le serveur SMTP [postfix](https://web.archive.org/web/20120621224105/http://www.postfix.org/), aux côtés duquel tournera le serveur IMAP [dovecot](https://web.archive.org/web/20120621224105/http://dovecot.org/).
|
||||
Le filtrage sera confié à [Spamassassin](https://web.archive.org/web/20120621224105/http://spamassassin.apache.org/), [amavis](https://web.archive.org/web/20120621224105/http://www.amavis.org/) et [clamav](https://web.archive.org/web/20120621224105/http://www.clamav.net/lang/en/).
|
||||
Nous aurons recourt à une base de données de type [MySQL](https://web.archive.org/web/20120621224105/http://www.mysql.com/).
|
||||
Même si vous ne gérerez qu'un seul domaine, virtualiser les utilisateurs et les domaines n'est pas plus consommateur de ressources : MySQL (ou tout autre serveur de bases de données, j'aurai pu traiter de [postgreSQL](https://web.archive.org/web/20120621224105/http://www.postgresql.org/) s'il ne me manquait pas de l'expérience) sera installé tôt ou tard, autant l'utiliser tout de suite.
|
||||
Nous utiliserons le serveur SMTP [postfix](http://www.postfix.org/), aux côtés duquel tournera le serveur IMAP [dovecot](http://dovecot.org/).
|
||||
Le filtrage sera confié à [Spamassassin](http://spamassassin.apache.org/), [amavis](http://www.amavis.org/) et [clamav](http://www.clamav.net/lang/en/).
|
||||
Nous aurons recourt à une base de données de type [MySQL](http://www.mysql.com/).
|
||||
Même si vous ne gérerez qu'un seul domaine, virtualiser les utilisateurs et les domaines n'est pas plus consommateur de ressources : MySQL (ou tout autre serveur de bases de données, j'aurai pu traiter de [postgreSQL](http://www.postgresql.org/) s'il ne me manquait pas de l'expérience) sera installé tôt ou tard, autant l'utiliser tout de suite.
|
||||
Et si par la suite vous acquérez un autre domaine et que vous vouliez proposer un service mail pour ce domaine, vous n'aurez pas de migration fastidieuse à effectuer.
|
||||
|
||||
Lorsque debconf vous demandera un mot de passe pour MySQL (et par extension, chaque fois que vous devrez saisir un mot de passe dans les prochains articles), vous devriez considérer utiliser un [générateur de mot de passe](https://web.archive.org/web/20120621224105/http://randompassword.com/).
|
||||
Lorsque debconf vous demandera un mot de passe pour MySQL (et par extension, chaque fois que vous devrez saisir un mot de passe dans les prochains articles), vous devriez considérer utiliser un [générateur de mot de passe](http://randompassword.com/).
|
||||
En utilisant un tel outil, vous pourrez générer des mots de passe complexes, de la longueur et de la complexité que vous voulez.
|
||||
|
||||
Sous debian donc, on installe les paquets suivants :
|
||||
@@ -61,9 +61,9 @@ Vous devez maintenant créer un nouvel utilisateur pour la première base de don
|
||||
mysql -u root -pVotreMotDePasse
|
||||
```
|
||||
|
||||
Notice : *-p*
|
||||
Notice : _-p_
|
||||
|
||||
Saisissez alors les commandes suivantes, en remplaçant *NouveauMotDePasse* par un nouveau mot de passe, différent de celui de root (là encore, pensez à utiliser le générateur de mots de passe) :
|
||||
Saisissez alors les commandes suivantes, en remplaçant _NouveauMotDePasse_ par un nouveau mot de passe, différent de celui de root (là encore, pensez à utiliser le générateur de mots de passe) :
|
||||
|
||||
```text
|
||||
CREATE USER 'MailServer'@'localhost' IDENTIFIED BY 'NouveauMotDePasse';
|
||||
@@ -72,7 +72,7 @@ CREATE DATABASE IF NOT EXISTS `MailServer` ;
|
||||
GRANT ALL PRIVILEGES ON `MailServer` . * TO 'MailServer'@'localhost';
|
||||
```
|
||||
|
||||
Nous avons créé un nouvel utilisateur nommé *MailServer*, et une base de données dans laquelle il a tout privilège.
|
||||
Nous avons créé un nouvel utilisateur nommé _MailServer_, et une base de données dans laquelle il a tout privilège.
|
||||
Créons ensuite la structure :
|
||||
|
||||
```text
|
||||
@@ -113,14 +113,14 @@ La base de données est configurée, nous pouvons passer à la suite.
|
||||
|
||||
## Postfix
|
||||
|
||||
Pour que Postfix utilise la base de données que l'on vient de créer, il faut créer quelques fichiers de configuration que nous allons placer dans le répertoire */etc/postfix/mysql* :
|
||||
Pour que Postfix utilise la base de données que l'on vient de créer, il faut créer quelques fichiers de configuration que nous allons placer dans le répertoire _/etc/postfix/mysql_ :
|
||||
|
||||
```bash
|
||||
/etc/init.d/postfix stop
|
||||
mkdir /etc/postfix/mysql
|
||||
```
|
||||
|
||||
Créez ensuite les fichiers suivants (n'oubliez pas de renseigner à chaque fois la variable *password* avec le mot de passe que vous avez attribué à l'utilisateur *MailServer*) :
|
||||
Créez ensuite les fichiers suivants (n'oubliez pas de renseigner à chaque fois la variable _password_ avec le mot de passe que vous avez attribué à l'utilisateur _MailServer_) :
|
||||
|
||||
```bash
|
||||
cd /etc/postfix/mysql
|
||||
@@ -184,7 +184,7 @@ query = SELECT access FROM access_sender WHERE source='%s' AND active = '1'
|
||||
```
|
||||
|
||||
Nous venons simplement de créer les fichiers permettant de communiquer avec les tables créées précédemment.
|
||||
Modifions ensuite la configuration principale de postfix, à commencer par le fichier *main.cf*.
|
||||
Modifions ensuite la configuration principale de postfix, à commencer par le fichier _main.cf_.
|
||||
Nous allons créer une nouvelle configuration en partant de rien, on va donc déplacer le fichier d'origine et en créer un nouveau :
|
||||
|
||||
```bash
|
||||
@@ -254,10 +254,10 @@ smtpd_recipient_restrictions =
|
||||
reject_rbl_client zen.spamhaus.org
|
||||
```
|
||||
|
||||
Important : *main.cf*
|
||||
Important : _main.cf_
|
||||
|
||||
Il faut créer le fichier *helo_checks.pcre*.
|
||||
En utilisant les expressions rationnelles, cela permettra à postfix d'opérer un filtrage sur la commande *helo* du protocole SMTP.
|
||||
Il faut créer le fichier _helo_checks.pcre_.
|
||||
En utilisant les expressions rationnelles, cela permettra à postfix d'opérer un filtrage sur la commande _helo_ du protocole SMTP.
|
||||
|
||||
```bash
|
||||
nano helo_checks.pcre
|
||||
@@ -276,7 +276,7 @@ nano helo_checks.pcre
|
||||
address-literal (IP enclosed in brackets)
|
||||
```
|
||||
|
||||
On modifie ensuite le fichier *master.cf* :
|
||||
On modifie ensuite le fichier _master.cf_ :
|
||||
|
||||
```text
|
||||
nano master.cf
|
||||
@@ -331,9 +331,9 @@ Il nous reste encore à créer les certificats.
|
||||
/scripts/certificate_authority/make_request postfix mail.exemple.fr
|
||||
```
|
||||
|
||||
Notice : *Common Name*
|
||||
Notice : _Common Name_
|
||||
|
||||
*mail.exemple.fr*
|
||||
_mail.exemple.fr_
|
||||
|
||||
Signez ensuite le certificat :
|
||||
|
||||
@@ -353,13 +353,13 @@ adduser clamav amavis
|
||||
adduser amavis clamav
|
||||
```
|
||||
|
||||
Important : *amavis*
|
||||
Important : _amavis_
|
||||
|
||||
*clamav*
|
||||
_clamav_
|
||||
|
||||
*clamav*
|
||||
_clamav_
|
||||
|
||||
*amavis*
|
||||
_amavis_
|
||||
|
||||
On édite ensuite la configuration de amavis :
|
||||
|
||||
@@ -460,7 +460,7 @@ default_pass_scheme = PLAIN-MD5
|
||||
password_query = SELECT email AS user, password FROM users WHERE email='%u'
|
||||
```
|
||||
|
||||
Comme d'habitude, pensez à changer le mot de passe, et mettez celui de l'utilisateur MySQL *MailServer*.
|
||||
Comme d'habitude, pensez à changer le mot de passe, et mettez celui de l'utilisateur MySQL _MailServer_.
|
||||
Enregistrez puis fermez, avant de modifier la configuration principale :
|
||||
|
||||
```bash
|
||||
@@ -538,7 +538,7 @@ plugin {
|
||||
```
|
||||
|
||||
Lorsque nous allons générer le certificat et la clé à utiliser avec dovecot, vous aurez la possibilité de créer une clé sans mot de passe.
|
||||
Si vous choisissez de créer une clé sans mot de passe, commentez la ligne *ssl_key_password = MotDePasse*.
|
||||
Si vous choisissez de créer une clé sans mot de passe, commentez la ligne _ssl_key_password = MotDePasse_.
|
||||
Dans le cas contraire, indiquez le mot de passe utilisé lors de la génération du certificat.
|
||||
|
||||
Quelques répertoires vont devoir être créés :
|
||||
@@ -555,7 +555,7 @@ On génère les certificats :
|
||||
/scripts/certificate_authority/sign_request dovecot mail.exemple.fr
|
||||
```
|
||||
|
||||
On créé ensuite l'utilisateur *vmail* :
|
||||
On créé ensuite l'utilisateur _vmail_ :
|
||||
|
||||
```bash
|
||||
addgroup vmail --gid 5000
|
||||
@@ -569,7 +569,7 @@ On peut désormais redémarrer dovecot :
|
||||
/etc/init.d/dovecot restart
|
||||
```
|
||||
|
||||
Nous avons configuré dovecot pour utiliser le plugin *sieve/managesieve*.
|
||||
Nous avons configuré dovecot pour utiliser le plugin _sieve/managesieve_.
|
||||
Cela nous permettra plus tard de mettre en place des filtres pour la messagerie.
|
||||
|
||||
Créons tout de même le fichier de configuration de base pour sieve, dont le rôle va être simplement de déplacer le spam dans le bon répertoire :
|
||||
@@ -589,7 +589,7 @@ if header :contains "Subject" "***** SPAM *****"
|
||||
|
||||
## Quelques tests
|
||||
|
||||
Installez le paquet [telnet](https://web.archive.org/web/20120621224105/http://packages.debian.org/fr/squeeze/telnet) si vous ne l'avez pas déjà :
|
||||
Installez le paquet [telnet](http://packages.debian.org/fr/squeeze/telnet) si vous ne l'avez pas déjà :
|
||||
|
||||
```bash
|
||||
apt-get install telnet
|
||||
@@ -691,7 +691,8 @@ Ce sont les deux ports à ouvrir pour que votre serveur SMTP puisse communiquer
|
||||
|
||||
Important : ```text
|
||||
${IPT} -A SERVICES -p tcp --dport 993 -j ACCEPT
|
||||
```
|
||||
|
||||
````
|
||||
|
||||
Cette commande permet d'ouvrir le port 993, qui est le port attribué au serveur IMAP sécurisé.
|
||||
Nous n'utiliserons donc pas le port habituel, le 143.
|
||||
@@ -703,7 +704,7 @@ On édite donc le fichier de définition de notre zone :
|
||||
|
||||
```bash
|
||||
nano /etc/bind/db.exemple.fr
|
||||
```
|
||||
````
|
||||
|
||||
Et on rajoute à la fin (sans oublier de modifier l'identifiant de l'enregistrement !) :
|
||||
|
||||
@@ -720,4 +721,4 @@ Et on redémarre bind :
|
||||
|
||||
C'est aussi simple que ça !
|
||||
|
||||
La prochaine étape consistera à installer un serveur web sécurisé, et quelques applications utiles, dont un client de messagerie pour jouer avec le serveur mail que l'on vient d'installer.
|
||||
La prochaine étape consistera à installer un serveur web sécurisé, et quelques applications utiles, dont un client de messagerie pour jouer avec le serveur mail que l'on vient d'installer.
|
||||
|
||||
Reference in New Issue
Block a user