diff --git a/pica-mail-mta/entrypoint.sh b/pica-mail-mta/entrypoint.sh index 02d46e7d3a40056010f1ac80788a8d6afa378c27..0a7703ceccf8912ca4ab607aa8b2e1994318e0d1 100755 --- a/pica-mail-mta/entrypoint.sh +++ b/pica-mail-mta/entrypoint.sh @@ -26,6 +26,9 @@ bind_pw = ${LDAP_BIND_PW} result_attribute = uid EOF postconf -e "virtual_mailbox_maps = ldap:/etc/postfix/ldap-virtual-mailbox-maps" +postconf -e "smtpd_sender_login_maps = ldap:/etc/postfix/ldap-virtual-mailbox-maps" + + #en dessous de ce degré de "vérité", les boîtes non trouvées en table sont rejetées. (100 correspond à un "vrai" simple, mais il est possible de définir différents degrés d'appartenance à la table des utilisateurs dans des configurations plus complexes: une boîte pourrait par exemple avoir le bon nom de domaine mais pas le bon nom d'utilisateur, mais ne pas être rejetée;) postconf -e "virtual_minimum_uid = 100" #on fait confiance à l'hôte local, utile pour faire du debug @@ -36,7 +39,8 @@ postconf -e "mynetworks = 127.0.0.0/8" #on rejette si le destinataire n'a pas de MX ni de A et n'est pas nous-même #l'ordre permit_sasl_authenticated, reject_unauth_destination est important: si on est authentifié on fait ce qu'on veut, si on n'est pas authentifié on ne peut qu'envoyer aux destinations connues #postconf -e "smtpd_recipient_restrictions = reject_unknown_recipient_domain, permit_sasl_authenticated, reject_unauth_destination" -postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination' +postconf -e 'smtpd_recipient_restrictions = reject_unknown_recipient_domain, permit_sasl_authenticated, reject_unauth_destination' + #restrictions permettant de tester le client dès le helo #on rejette les clients qui n'ont pas été capables de donner notre nom de domaine lors du helo #on interdit de faire du helo avec un domaine non fully qualified, sinon c'est trop facile de tenter localhost., mail., pica01. etc. @@ -46,6 +50,9 @@ postconf -e "smtpd_helo_restrictions = reject_invalid_helo_hostname, reject_non_ #blacklists basées sur l'adresse du client postconf -e "smtpd_client_restrictions = reject_unknown_sender_domain, ${SMTPD_CLIENT_RESTRICTIONS}" +#on interdit aux gens d'utiliser une adresse qui leur appartient pas +postconf -e "smtpd_sender_restrictions = reject_unauthenticated_sender_login_mismatch reject_authenticated_sender_login_mismatch" + #Saslauthd @@ -61,7 +68,7 @@ dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd adduser postfix sasl service saslauthd restart #le SASL se fait entre le client SMTP et le conteneur MTA, donc on indique notre nom d'hôte -postconf -e 'smtpd_sasl_local_domain = $myhostname' +postconf -e 'smtpd_sasl_local_domain = ' postconf -e 'smtpd_sasl_auth_enable = yes' postconf -e 'smtpd_sasl_security_options = noanonymous' #autorise l'auth depuis des clients connus comme obsolètes/non standard (outlook) mais ne présentant pas de faille de sécurité