Comme une version plus grande pour la mise en place Exim4 à utiliser SMTP-AUTH et TLS, voici un guide sur la façon d'installer sur la base du Auth Exim4 SMTP avec TLS et accès à la messagerie via POP3 ou IMAP (tous deux également avec TLS) peut être établie.
Ainsi prend en charge les protocoles suivants: SMTP, avec authentification ssmtp, POP3, pop3s, imap2, IMAPS.
Exim4 comme agent de transport de messagerie par défaut (MTA) de Debian est disponible en deux versions: légers et lourds. La variante lourde peut être étendu bien plus de la livraison du courrier seulement au niveau local. Tout d'abord peut-être utilisé le paquet des lourds-légers de Exim4 de la version à être remplacé. Cela est possible à tout moment sans avoir à modifier la configuration.
aptitude install exim4-daemon-heavy
Puis installer des paquets au total pour l'installation sont nécessaires.
aptitude install courier-authdaemon courier-imap courier-imap-ssl courier-pop courier-pop-ssl swaks libnet-ssleay-perl ssl-cert
Le processus d'authentification avec cette configuration ressemble à ceci: Connection -> exim4 -> Courrier -> Système (PAM). Les utilisateurs sont des utilisateurs locaux, et donc ils se tiennent dans des ressources telles que le fichier / etc / passwd, / etc / group et / etc / shadow.
Ainsi, les futurs utilisateurs ont aussi une structure de dossiers pour l'e-mail, nous créons un tel ensemble de nouveaux comptes d'utilisateurs. maildirmake créé la structure dans / etc / skel.
maildirmake /etc/skel/Maildir
Les utilisateurs existants sans structure de dossier pour l'e-mail peut obtenir le dossier est ajouté:
maildirmake ~/Maildir
Il est recommandé que l'utilisateur de les trier en groupes. Par exemple, e-mail des utilisateurs, les utilisateurs avec shell valide .. l'ordonnance devrait être rendue avant que l'on investit beaucoup d'utilisateurs. Cet exemple suppose que notre groupe de sociétés "Solip" à cet effet. Tous les utilisateurs de ne pas avoir accès au shell, mais une boîte postale.
groupadd solip
useradd -g solip -s /bin/false -d /home/demouser demouser
Les utilisateurs peuvent également plus tard encore, à tout point avec la commande usermod pour modifier.
Pour les paramètres de rien Courrier a besoin d'être changé. Cependant, vous avez besoin d'un changement au certificat pour IMAPS et POP3S:
rm -rf /etc/courier/*.pem
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/courier/imapd.pem
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/courier/pop3d.pem
Eventuellement, si l'authentification ne fonctionne pas plus tard, n'a pas encore été apporté la modification suivante:
chmod 755 /var/run/courier/authdaemon
Maintenant, nous vérifions si les services sont exécutés:
netstat -utal | egrep -e 'pop|imap'
La sortie devrait ressembler à ceci:
tcp6 0 0 [::]:imaps [::]:* LISTEN
tcp6 0 0 [::]:pop3s [::]:* LISTEN
tcp6 0 0 [::]:pop3 [::]:* LISTEN
tcp6 0 0 [::]:imap2 [::]:* LISTEN
Maintenant, nous vérifions le serveur IMAP, y compris une connexion interactive:
telnet localhost imap2
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information.
AB LOGIN "root" "CHANGE"
AB OK LOGIN Ok.
BC SELECT "Inbox"
* FLAGS ($MDNSent NonJunk $Forwarded $label1 $label2 \Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS ($MDNSent NonJunk $Forwarded $label1 $label2 \* \Draft \Answered \Flagged \Deleted \Seen)] Limited
* 190 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1205133440] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
BC OK [READ-WRITE] Ok
ZZZZ LOGOUT
* BYE Courier-IMAP server shutting down
ZZZZ OK LOGOUT completed
Connection closed by foreign host.
Maintenant, pour Exim4. Nous générons un certificat X.509 pour le chiffrement. Exim4 a son propre outil pour les passages de cette voisins dans les instructions.
bash /usr/share/doc/exim4-base/examples/exim-gencert
Ils sont générés certificat et la clé dans / etc/exim4.
Désormais, la configuration d'Exim4 pour TLS doit être adapté. Par conséquent, nous comprennent bijou. Documentation, tapez:
2.1.3. Using Exim Macros to control the configuration" and "2.2.2. Enabling TLS support for Exim as server" from /usr/share/doc/exim4-base/README.Debian.gz, you should create a file with name /etc/exim4/conf.d/main/000_localmacros (split configuration) or /etc/exim4/exim4.conf.localmacros (non-split configuration), and insert lines as following:
#####################################################
### main/03_exim4-config_tlsoptions
#####################################################
MAIN_TLS_ENABLE = true
tls_on_connect_ports = 465
Peut également être déterminé encore au même endroit si SMTP-AUTH doivent être cryptées ou non. Standard est également approuvé en clair.
auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}
Autorise uniquement les connexions cryptées SMTP-AUTH à utiliser.
Depuis, nous aimerions nous cryptée Exim4 SMTP sur le port 465 pour la norme fournit, nous avons également éditer le fichier / etc/default/exim4 comme suit:
# options for daemon listening on port 25
SMTPLISTENEROPTIONS='-oX 465:25 -oP /var/run/exim4/exim.pid'
Maintenant ont dans la section authenticators regarder le Exim4 PLAIN et LOGIN configuration comme suit. Régler ou remplacer est possible ici.
plain_courier_authdaemon:
driver = plaintext
public_name = PLAIN
server_condition = \
${extract {ADDRESS} \
{${readsocket{/var/run/courier/authdaemon/socket} \
{AUTH ${strlen:exim\nlogin\n$auth2\n$auth3\n}\nexim\nlogin\n$auth2\n$auth3\n} }} \
{yes} \
fail}
server_set_id = $auth2
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
: Login_courier_authdaemon
driver = plaintext
public_name = LOG
server_prompts Nom d'utilisateur = ::: Mot de passe ::
server_condition = \
$ {Extrait {address} \
{{{$ Socket lire / var / run / courier / authdaemon / socket} \
{{$ AUTH strlen: exim \ nlogin \ n auth1 $ \ n $ auth2 \ n} \ Nexim \ nlogin \ n auth1 $ \ n $ auth2 \ n}}} \
{Oui} \
fail}
server_set_id = $ auth1
. Ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = $ {if eq {} {} {} {$ tls_cipher *}}
. Endif
Si nécessaire. Exim4 est de configurer encore. Cela peut, à tout moment en utilisant dpkg-reconfigure exim4-config peut être effectuée. Parmi les points clés:
- Split configuration en petits fichiers: Non
- Nom de système de messagerie: la même que dans le certificat et dans la configuration du système
- Méthode de la livraison pour le courrier local: le format Maildir dans le répertoire home
Maintenant, nous vérifions si le service SMTP fonctionne comme souhaité.
netstat -utal | egrep -e 'smtp|ssmtp'
La sortie devrait ressembler à ceci:
tcp 0 0 *:ssmtp *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp6 0 0 [::]:ssmtp [::]:* LISTEN
tcp6 0 0 [::]:smtp [::]:* LISTEN
Maintenant, vous pouvez essayer une fois pour vous envoyer un e-mail et aussi l'extérieur à l'adresse suivante:
echo "test" | mail -s "test" root
echo "test" | mail -s "test" test@domain.de
Le dit Exim4 log / var/log/exim4/mainlog vous que tout fonctionne correctement.
Maintenant, nous vérifions si TLS est activé:
swaks -a -tls -q HELO -s localhost -au root -ap '<>'
Et si vous utilisez l'authentification TLS est aussi (s'il vous plaît entrez le mot de passe):
swaks -a -tls -q AUTH -s localhost -au root
Maintenant, toujours en utilisant Exim4 /etc/init.d/exim4 restart pour redémarrer et vérifier les journaux et la fonction.