Ajouter SASL à votre serveur Postfix
Il ya quelque temps, j'ai fait une série sur le serveur de messagerie Postfix ici sur Astuces (voir le contenu Postfix sur Astuces pour plus d'informations). J'espère que vous avez trouvé ce serveur de messagerie en circulation facile à configurer et à maintenir ce que je fais. Mais vous avez sans doute remarqué un peu de défi à l'aide de votre serveur smtp en dehors de votre réseau. Pourquoi est-ce? C'est parce que, par défaut, Postfix ne sera pas le seul faisant foi des hôtes non approuvés - et un réseau en dehors de la vôtre est un réseau non sécurisé. Cela se fait par la conception - pour empêcher les autres d'utiliser votre serveur SMTP comme relais de spam. Alors, comment dans le monde ne vous définissez ce serveur Postfix en place afin qu'il puisse être relié à du monde extérieur? Vous aurez probablement utilisateurs qui ont besoin de faire cela.
Lorsque vous avez des utilisateurs qui doivent accéder à votre serveur SMTP de l'extérieur de votre LAN, vous devez activer SASL (Simple Authentication and Security Layer). Dans cet article je vais vous montrer comment faire.
Hypothèses
Naturellement cet article va vous prendre déjà un serveur de travail Postfix qui est à la fois envoyer et recevoir des e-mail. Cet article décrit le processus lié à un serveur CentOS 5 (ce qui en fait uneserveur de messagerie en circulation pour les entreprises de toute taille). Je vais aussi supposer que vous avez un accès root sur ce serveur (comme tout fait dans cet article aurez besoin des privilèges administratifs).
Première étape
La première chose que vous devez faire est d'ajouter quelques lignes à votre / postfix / main.cf fichier / etc /. Ce qui est nécessaire est la suivante (l'ajouter à la fin du fichier):
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private / auth
smtpd_sasl_security_options = noanonymous
L'étape suivante consiste à ajouter à la section permit_sasl_authenticated smtpd_recipient_restrictions du même fichier. Si vous n'avez pas une section smtpd_recipient_restrictions, il suffit de créer la section comme ceci:
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
Deuxième étape
[ : Http://dl.dropbox.com/u/21986221/postfix.png]L'étape suivante consiste à configurer par défaut dans le authprocessus d'authentification de l'article (autour de la ligne 778) du fichier / etc / dovecot.conf. Celui-ci est vraiment délicate - seulement parce que cette section du fichier dovecot.conf est fortement commenté et contient déjà quelques-unes des lignes que vous allez voir la figure 1 et au-dessous. Le code de la figure 1 donne une représentation plus facile de ce qui doit être ajoutée au fichier dovecot.conf. Le copier / coller du texte-mesure est la suivante:
défaut auth {
mécanismes de connexion = plaine
pam passdb {
}
userdb passwd {
}
user = root
prise écouter {
{client
path = / var / spool / postfix / private / auth
mode = 0660
user = postfix
groupe = postfix
}
}
}
Maintenant il est temps de redémarrer Postfix avec les commandes:
dovecot redémarrage du service
postfix reload
Test
Il est temps de voir si votre configuration fonctionne. Pour ce faire vous aurez besoin de telnet à votre serveur de messagerie sur le port 25 comme ceci:
telnet ADDRESS_OF_SERVER 25
Lorsque ADDRESS_OF_SERVER est l'adresse réelle de votre serveur de messagerie. Maintenant vous devez générer un nom d'utilisateur Base64 / mot de passe pour le faire. Cela est possible avec l'aide de Perl comme suit:
imprimer Base64-e ': perl-MMIME:encode_base64 ("00USERNAME00PASSWORD"); '
Vous pouvez insérer un nom d'utilisateur réel et mot de passe qui existe sur votre serveur si vous le souhaitez dans le aboe commande (où vous voyez mot de passe).
Ce sera d'imprimer une chaîne de caractères que vous pouvez utiliser dans les tests. L'essai devrait ressembler à ceci:
telnet ADDRESS_OF_SERVER 25
Trying 127.0.0.1 ...
Connecté à localhost (127.0.0.1).
Escape character is'^]'.
220 mail.example.com ESMTP Postfix
EHLO example.com
250-mail.example.com
250-PIPELINING
250-SIZE 20480000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH = LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
PLAIN STRING_OF_CHARACTERS AUTH
235 2.0.0 Authentification réussie
quitter
221 2.0.0 Bye
Connexion fermée par l'hôte étranger.
Où tout en gras est ce que vous devez entrer et STRING_OF_CHARACTERS est la chaîne de caractères générée par la commande Perl plus tôt.
Réflexions finales
Si tout va bien vous devriez avoir vu l'authentification réussie dans votre test. Félicitations, vous pouvez maintenant accéder à votre serveur SMTP de l'extérieur duvotre réseau local.
Commentaires
Enregistrer un commentaire