Présentation de la configuration

Pour une installation par défaut des serveurs mail d'Ubuntu on utilise les paquets dovecot-imapd, dovecot-pop3d, postfix .

Mais il existe un paquet qui installe les serveurs comme un MDA (mail delivery agent), dovecot-postfix. Il installe les serveurs POP3, IMAP, SMTP. Ce qui ici nous arrange bien ici, car un apt-get install dovecot-postfix nous installe dovecot-imapd, dovecot-pop3d avec postfix et en plus il est déjà configurer.

Le paquet dovecot-postfix est aussi préconfiguré pour le support du chiffrement TLS et de l'authentification SASL pour les protocoles SMTP, POP3 et IMAP. Ainsi que l'on peux facilement y inclure un Filtre SIEVE.

Nous aurons aussi besoin des paquets : mysql-client et mysql-serveur en version 5.1, sasl, ntp, apache2, et enfin php5 pour mysql.

Il faut impérativement la version 5.1 de mysql afin de partitionner les groupe d'utilisateur.

Installation de la configuration

Certification d'authenticité.

Sur un plan théorique on utilise une certification auto-signé. Cela veux dire que aucune autorité assure vos certificats. Pour un serveur de production il faudra utilisé des certification payante.
Pour éviter toute confusions. Je vous recommande fortement de bien lire et de personnaliser toute c'est commande dans un bloc-note, ainsi que de vérifier les concordances. Avant de vous lancer.

Donc nous allons éditer le fichier /etc/ssl/openssl.cnf

Il faut modifiez la ligne default_day pour pouvoir l'éditer sur 10ans.

default_days    = 3650

Maintenant il faut généré un certificat :

cd ~
/usr/lib/ssl/misc/CA.pl -newca
Paramétre Explication
Enter PEM pass phrase Mot de passe du certificat
Country Name (2 letter code) [AU] FR
State or Province Name (full name) [Some-State]: Entrer ici votre département département
Locality Name (eg, city) : Entrer ici votre ville
Organization Name (eg, company) [Internet Widgits Pty Ltd] Ici le nom de votre compagnie
Organizational Unit Name (eg, section) VIDE (Optionnel)
Common Name (eg, YOUR name) : Ici votre nom de domaine
Email Address : Votre adresse email
A challenge password : VIDE
Enter pass phrase for Mot de passe du certificat

Ce certificat racine sert à protéger les autres certificats. Il se situe dans le répertoire /demoCA.

On crée maintenant une clé privée pour le serveur ainsi qu’un certificat public non signé.

mkdir ~/CERT
cd ~/CERT
openssl req -new -nodes -keyout "nomdesociété"-key.pem -out "nomdesociété"-req.pem -days 3650

et on entre les paramètres comme ci dessous :

Paramétre Explication
Enter PEM pass phrase Mot de passe du certificat
Country Name (2 letter code) [AU] FR
State or Province Name (full name) [Some-State]: Entrer ici votre département département
Locality Name (eg, city) : Entrer ici votre ville
Organization Name (eg, company) [Internet Widgits Pty Ltd] Ici le nom de votre compagnie
Organizational Unit Name (eg, section) VIDE (Optionnel)
Common Name (eg, YOUR name) : Ici votre nom de domaine
Email Address : Votre adresse email
A challenge password VIDE

On signe maintenant ce certificat public avec le certificat racine :

cd ~
openssl ca -out CERT/"nomdesociété"-cert.pem -infiles CERT/"nomdesociété"-req.pem

Voici la sortie de la signature :

Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number:
            84:7c:ce:d2:f7:cf:df:6d
        Validity
            Not Before: Nov 13 16:51:32 2011 GMT
            Not After : Nov 10 16:51:32 2021 GMT
        Subject:
            countryName               = FR


            stateOrProvinceName       = "Votre département"
            organizationName          = "Votre société Internet"
            commonName                = "Votre nom de domaine"
            emailAddress              = "Votre Adresse Email"
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                05:2A:A9:90:6F:2A:80:F7:E3:EF:2B:F9:44:9D:8E:CF:C3:16:18:EF
            X509v3 Authority Key Identifier: 
                keyid:B9:04:A3:81:E5:5D:D6:82:72:F4:6E:0C:FB:3F:E2:62:1B:EF:B9:57

Certificate is to be certified until Nov 10 16:51:32 2021 GMT (3650 days)
Sign the certificate? [y/n]:y ### Oui


1 out of 1 certificate requests certified, commit? [y/n]y ### Oui
Write out database with 1 new entries
Data Base Updated

On copie maintenant le certificat (cert.pem) et la clé (key.pem) dans postfix :

mkdir /etc/postfix/tls
cp demoCA/cacert.pem CERT/"nomdesociété"-key.pem CERT/"nomdesociété"-cert.pem /etc/postfix/tls/
chmod 644 /etc/postfix/tls/"nomdesociété"-cert.pem /etc/postfix/tls/cacert.pem
chmod 400 /etc/postfix/tls/"nomdesociété"-key.pem
chmod 400 ~/CERT/*

On ajoute maintenant la configuration tls et smtp protégé par ssl. Comme ceci dans le fichier /etc/postfix/main.cf :

smtp_tls_CAfile = /etc/postfix/tls/cacert.pem
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_tls_session_cache
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_tls_key_file = /etc/postfix/tls/"nomdesociété"-key.pem
smtpd_tls_cert_file = /etc/postfix/tls/"nomdesociété"-cert.pem
smtpd_tls_CAfile = /etc/postfix/tls/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_tls_session_cache
tls_random_source = dev:/dev/urandom
  • utilisateurs/benjy4537/brouillons/postfix_relecture.txt
  • Dernière modification: Le 11/09/2022, 13:13
  • par moths-art