admin:services:mail
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
admin:services:mail [2013/12/13 14:59] – admin:mail renamed to admin:services:mail (Réorganisation) zertrin | admin:services:mail [2017/02/26 16:26] (Version actuelle) – [Postfix] helo_access david.sinquin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
[[: | [[: | ||
- | ====== | + | ====== |
- | Cette page explique succinctement comment configurer un serveur | + | Le serveur |
- | Il est également possible d' | + | Ce serveur gère aussi les [[admin:services:mailman|mailing-lists]]. |
- | ===== Packages | + | ===== Postfix |
- | # nano /etc/apt/ | + | # apt install postfix |
- | + | ||
- | | + | Sur hexagon, configurer Postfix en tant que serveur mail Internet pour le domaine **federez.net** : |
- | | + | |
- | deb-src http:// | + | |
- | + | ||
- | # aptitude update | + | |
- | # aptitude upgrade | + | |
- | + | ||
- | # aptitude install postfix postgrey | + | |
- | # aptitude install amavisd-new clamav clamav-daemon clamav-freshclam | + | |
- | # aptitude install spamassassin bzip2 libnet-ph-perl libnet-snpp-perl libnet-telnet-perl | + | |
- | # aptitude install lha arj rar unrar unrar-free nomarch lzop cabextract razor pyzor p7zip-full pax zip unzip lha zoo | + | |
# dpkg-reconfigure postfix | # dpkg-reconfigure postfix | ||
- | System mail name : quigon.federez.net | + | System mail name : hexagon.federez.net |
root and postmaster mail recipient : admin@federez.net | root and postmaster mail recipient : admin@federez.net | ||
- | Other destinations to accept mail for : federez.net, | + | Other destinations to accept mail for : federez.net, |
Force synchronous updates on mail queue : No | Force synchronous updates on mail queue : No | ||
Local networks: 127.0.0.0/8 [:: | Local networks: 127.0.0.0/8 [:: | ||
Ligne 34: | Ligne 24: | ||
Internet protocols to use: all | Internet protocols to use: all | ||
+ | Pour limiter le spam, on refuse les messages provenant de serveurs trop mal configurés (ou de pc infectés le plus souvent), et on définie la taille maximale autorisée pour les mails en ajoutant à ''/ | ||
+ | smtpd_helo_required = yes | ||
+ | smtpd_helo_restrictions = | ||
+ | permit_mynetworks, | ||
+ | permit_sasl_authenticated, | ||
+ | reject_invalid_helo_hostname, | ||
+ | reject_unknown_helo_hostname, | ||
+ | check_helo_access hash:/ | ||
+ | message_size_limit = 40960000 | ||
+ | On crée également un fichier pour interdire les mails envoyés au nom de federez en créant ''/ | ||
+ | <file - / | ||
+ | federez.net | ||
+ | </ | ||
+ | puis on le convertit en base pour postfix avec : | ||
+ | postmap / | ||
===== Postgrey ===== | ===== Postgrey ===== | ||
- | nano / | + | Postgrey semble peu efficace, il n'est donc pas installé sur dodecagon. Ce qui suit pourra être effacé après migration à l' |
+ | |||
+ | apt install postgrey | ||
+ | |||
+ | Dans '' | ||
POSTGREY_OPTS=" | POSTGREY_OPTS=" | ||
POSTGREY_TEXT=" | POSTGREY_TEXT=" | ||
- | # nano / | + | Dans '' |
- | # postgrey | ||
smtpd_recipient_restrictions = permit_mynetworks, | smtpd_recipient_restrictions = permit_mynetworks, | ||
| | ||
Ligne 50: | Ligne 58: | ||
| | ||
+ | Vérifier que '' | ||
+ | ===== amavisd-new, | ||
- | # nano / | + | Installer les trois programmes et les extensions leur permettant d' |
- | # some others | + | # apt install amavisd-new clamav clamav-daemon clamav-freshclam \ |
- | | + | |
- | | + | |
- | yahoo.co.uk | + | |
- | europa.eu | + | |
- | mail-out.ovh.net | + | |
- | paypal.com | + | |
- | mxb.ovh.net | + | |
- | cert.org | + | |
- | bigfoot.com | + | |
- | brutele.be | + | |
- | tech.numericable.fr | + | |
- | # kill $(ps aux | grep '/ | + | Dans ''/ |
- | # /etc/init.d/postgrey restart | + | |
- | # /etc/init.d/postfix restart | + | |
- | --> postgrey doit marcher :-) --< | + | # amavisd-new |
- | + | ||
- | ===== Amavisd, spamassassin, | + | |
- | + | ||
- | # nano / | + | |
- | + | ||
- | # amavis | + | |
amavisfeed unix - | amavisfeed unix - | ||
-o smtp_data_done_timeout=1200 | -o smtp_data_done_timeout=1200 | ||
Ligne 104: | Ligne 97: | ||
-o relay_recipient_maps= | -o relay_recipient_maps= | ||
- | # nano / | + | Dans '' |
# amavis | # amavis | ||
Ligne 110: | Ligne 103: | ||
receive_override_options = no_address_mappings | receive_override_options = no_address_mappings | ||
- | # nano / | + | Dans '' |
@bypass_virus_checks_maps = ( | @bypass_virus_checks_maps = ( | ||
Ligne 117: | Ligne 110: | ||
| | ||
- | # nano / | + | Dans '' |
- | | + | @local_domains_acl = ( " |
- | | + | |
- | # nano / | + | Dans ''/ |
- | + | ||
- | $sa_spam_subject_tag = '' | + | |
- | [...] | + | |
- | # qr' | + | |
- | qr' | + | |
- | | + | |
- | | + | |
- | | + | |
- | [...] | + | |
- | + | ||
- | # nano /etc/amavis/conf.d/ | + | |
- | + | ||
- | $unrar | + | |
- | # | + | |
- | + | ||
- | # nano / | + | |
bayes_auto_expire 0 | bayes_auto_expire 0 | ||
- | + | | |
- | # nano / | + | Activer le lancement de SpamAssassin par le système en modifiant '' |
CRON=1 | CRON=1 | ||
+ | | ||
+ | Enfin, initialiser SpamAssassin, | ||
# adduser clamav amavis | # adduser clamav amavis | ||
Ligne 154: | Ligne 132: | ||
# / | # / | ||
- | ===== Debug ===== | + | ===== DKIM ===== |
+ | |||
+ | Installer OpenDKIM et ses outils (pour la génération de clé) : | ||
+ | |||
+ | apt install opendkim opendkim-tools | ||
+ | |||
+ | Générer une clé pour hexagon : | ||
+ | |||
+ | opendkim-genkey -a -b 3072 -h sha256 -s hexagon | ||
+ | |||
+ | Le fichier généré '' | ||
+ | |||
+ | < | ||
+ | hexagon._domainkey TXT (" | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | |||
+ | Pendant la mise en place, il est recommandé de lui affecter un petit TTL et l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | mv hexagon.private /etc/dkim | ||
+ | chown opendkim: / | ||
+ | chmod a-w / | ||
+ | |||
+ | Configurer OpenDKIM pour cette clé et ce domaine, dans ''/ | ||
+ | |||
+ | Domain federez.net | ||
+ | KeyFile / | ||
+ | Selector hexagon | ||
+ | |||
+ | Pour communiquer avec Postfix, utiliser un socket unix dans son chroot : | ||
+ | |||
+ | mkdir -p / | ||
+ | chown opendkim: / | ||
+ | |||
+ | Le chemin du socket est configuré dans ''/ | ||
+ | |||
+ | SOCKET=" | ||
+ | |||
+ | Comme suggéré dans ''/ | ||
+ | |||
+ | usermod -g mail opendkim | ||
+ | |||
+ | Ajouter ensuite postfix au groupe mail : | ||
+ | adduser postfix mail | ||
+ | |||
+ | Enfin, configurer Postfix dans ''/ | ||
+ | |||
+ | milter_default_action = accept | ||
+ | smtpd_milters = unix:/ | ||
+ | non_smtpd_milters = unix:/ | ||
+ | |||
+ | L' | ||
+ | |||
+ | ===== Envoi authentifié d' | ||
+ | |||
+ | Postfix peut authentifier des clients et leur permettre de relayer des emails sortants avec l' | ||
+ | |||
+ | Installer SASL : | ||
+ | |||
+ | apt install sasl2-bin | ||
+ | |||
+ | Dans ''/ | ||
+ | |||
+ | START=yes | ||
+ | MECHANISMS=" | ||
+ | OPTIONS=" | ||
+ | |||
+ | Indiquer à Debian le nouveau répertoire et ajouter **postfix** au groupe **sasl** pour l' | ||
+ | |||
+ | dpkg-statoverride --add root sasl 750 / | ||
+ | gpasswd -a postfix sasl | ||
+ | |||
+ | Configurer la connexion au serveur LDAP, dans ''/ | ||
+ | |||
+ | ldap_servers: | ||
+ | ldap_start_tls: | ||
+ | ldap_tls_check_peer: | ||
+ | ldap_search_base: | ||
+ | ldap_filter: | ||
+ | ldap_bind_dn: | ||
+ | ldap_password: | ||
+ | |||
+ | Un compte de service LDAP a été créé pour permettre à **saslauthd** d' | ||
+ | |||
+ | Configurer Postfix pour l' | ||
+ | |||
+ | pwcheck_method: | ||
+ | mech_list: PLAIN LOGIN | ||
+ | |||
+ | Activer le service **submission** avec authentification SASL, dans ''/ | ||
+ | |||
+ | submission inet n | ||
+ | -o syslog_name=postfix/ | ||
+ | -o smtpd_tls_security_level=encrypt | ||
+ | -o smtpd_sasl_auth_enable=yes | ||
+ | -o smtpd_client_restrictions=permit_sasl_authenticated, | ||
+ | -o milter_macro_daemon_name=ORIGINATING | ||
+ | |||
+ | ===== Boîtes mail ===== | ||
+ | |||
+ | Pour permettre de récupérer ses mails en IMAPS, on installe dovecot : | ||
+ | apt install ' | ||
+ | |||
+ | Pour n' | ||
+ | <file bash / | ||
+ | # On force IMAP en TLS dès le début de la connexion | ||
+ | service imap-login { | ||
+ | inet_listener imap { | ||
+ | port=0 | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Ensuite, on édite des fichiers dans ''/ | ||
+ | <file bash / | ||
+ | auth_mechanisms = plain login | ||
+ | </ | ||
+ | |||
+ | <file bash / | ||
+ | mail_location = maildir: | ||
+ | </ | ||
+ | |||
+ | <file bash / | ||
+ | service auth { | ||
+ | unix_listener / | ||
+ | mode = 0660 | ||
+ | user = postfix | ||
+ | group = postfix | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <file bash / | ||
+ | ssl = required | ||
+ | |||
+ | ssl_cert = </ | ||
+ | ssl_key = </ | ||
+ | |||
+ | ssl_dh_parameters_length = 3072 | ||
+ | |||
+ | ssl_protocols = !SSLv2 !SSLv3 !TLSv1 !TLSv1.1 | ||
+ | |||
+ | ssl_cipher_list = ECDHE-ECDSA-CHACHA20-POLY1305: | ||
- | / | + | ssl_prefer_server_ciphers = yes |
- | / | + | </file> |
- | | + | On configure postfix pour écrire les mail dans le home des utilisateurs en ajoutant dans '' |
- | | + | |
- | /etc/init.d/amavis debug-sa | + | |
- | tail / | + | On configurera pour finir fail2ban pour bannir ceux qui ferraient trop d' |
admin/services/mail.1386943171.txt.gz · Dernière modification : 2013/12/13 14:59 de zertrin