From 4ab0a041601f254fad6a7f9a1931809d40663dd9 Mon Sep 17 00:00:00 2001 From: CdRom1 <r.maliach@live.fr> Date: Thu, 3 Jan 2019 13:00:09 +0100 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20la=20g=C3=A9n=C3=A9ration=20automa?= =?UTF-8?q?tique=20des=20tables=20de=20cl=C3=A9s=20dkim=20et=20de=20la=20v?= =?UTF-8?q?ariable=20d'environnement=20DKIM=5FSELECTOR=20(fonctionnalit?= =?UTF-8?q?=C3=A9=20introduite=20dans=20l'image=20de=20soutenance)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose/mail.yml | 16 +++++++++------- pica-mail-mta/Dockerfile | 1 + pica-mail-mta/config.sh | 2 ++ pica-mail-mta/opendkim-tables.sh | 15 +++++++++++++++ 4 files changed, 27 insertions(+), 7 deletions(-) create mode 100755 pica-mail-mta/opendkim-tables.sh diff --git a/docker-compose/mail.yml b/docker-compose/mail.yml index 7ac7c704..71acfa78 100644 --- a/docker-compose/mail.yml +++ b/docker-compose/mail.yml @@ -27,7 +27,8 @@ services: - mail volumes: - /var/lib/docker/volumes/mail-mta-log/_data:/var/log - - /DATA/docker/mail/opendkim/nov2018.private:/etc/dkimkeys/nov2018.picasoft.net.rsa +#doit contenir selecteur.domaine.rsa + - /DATA/docker/mail/opendkim/:/etc/dkimkeys/ - /DATA/docker/mail/ssl/:/certs-ssl/ environment: #adresse et port du serveur LMTP i.e. le MTA @@ -45,7 +46,7 @@ services: LDAP_PORT: 389 #réglage du bind : login et mot de passe d'un compte qui a suffisamment de droits pour lire l'arborescence (à l'exception des mots de passe) LDAP_BIND_DN: cn=readonly,dc=picasoft,dc=net - LDAP_BIND_PW readonly + LDAP_BIND_PW: readonly #réglage de la manière dont on répertorie les comptes et les adresses existantes #la config actuelle fait que la possession d'une adresse mail se fait ainsi : login => login@picasoft.net #cependant, nous avons quand même deux couches différentes: l'existence d'un compte (SASL) et l'existence d'une adresse @@ -54,14 +55,15 @@ services: #pour ce faire, il suffit d'utiliser des attributs LDAP différents #nous utilisons donc le cn pour l'existence d'un compte LDAP, et l'uid pour l'existence d'une adresse #niveau de l'arborescence à partir duquel les entrées sont trouvées: - LDAP_SEARCH_BASE dc=picasoft,dc=net + LDAP_SEARCH_BASE: dc=picasoft,dc=net #filtre permettant de répertorier les comptes SASL - LDAP_SASL_FILTER cn=%u + LDAP_SASL_FILTER: cn=%u #filtre permettant de répertorier les adresses mail - LDAP_VIRTUAL_MAILBOX_FILTER uid=%s + LDAP_VIRTUAL_MAILBOX_FILTER: uid=%s #ajout de listes noires pour éviter le SPAM. La décision politique et l'éthique associée sortent du cadre de la conception de cette image et doivent être discutées par l'asso; en tout cas, si on lève cette restriction, elle doit être remplacée par une autre (un spamassassin par exemple). - SMTPD_CLIENT_RESTRICTIONS reject_rbl_client sbl.spamhaus.org, reject_rbl_client dnsbl.sorbs.net - + SMTPD_CLIENT_RESTRICTIONS: reject_rbl_client sbl.spamhaus.org, reject_rbl_client dnsbl.sorbs.net +#prefixe DKIM, utilise pour identifier la clef + DKIM_SELECTOR: nov2018 labels: - "traefik.frontend.rule=Host:mail.test.picasoft.net" - "traefik.port=80" diff --git a/pica-mail-mta/Dockerfile b/pica-mail-mta/Dockerfile index 4fef2285..6d6d597f 100644 --- a/pica-mail-mta/Dockerfile +++ b/pica-mail-mta/Dockerfile @@ -56,6 +56,7 @@ RUN mkdir /etc/opendmarc COPY --chown=opendmarc:opendmarc spam/ignore.hosts /etc/opendmarc/ignore.hosts COPY saslauthd-postfix /etc/default/ +COPY opendkim-tables.sh / COPY config.sh / COPY entrypoint.sh / diff --git a/pica-mail-mta/config.sh b/pica-mail-mta/config.sh index 70fd98c9..db402983 100755 --- a/pica-mail-mta/config.sh +++ b/pica-mail-mta/config.sh @@ -102,6 +102,8 @@ AuthservID ${MY_HOSTNAME} EOF #configuration DKIM +#ecriture des tables indiquant quoi signer avec quelle clef +/opendkim-tables.sh postconf -e "milter_default_action = accept" postconf -e "milter_protocol = 6" postconf -e "smtpd_milters = local:/opendkim/opendkim.sock, local:/opendmarc/opendmarc.sock" diff --git a/pica-mail-mta/opendkim-tables.sh b/pica-mail-mta/opendkim-tables.sh new file mode 100755 index 00000000..140b7a45 --- /dev/null +++ b/pica-mail-mta/opendkim-tables.sh @@ -0,0 +1,15 @@ +if [ -z ${MY_DOMAIN+x} ] +then + >&2 echo "Fatal to opendkim set-up : MY_DOMAIN environment variable is unset" + exit 1 +fi +if [ -z ${DKIM_SELECTOR+x} ] +then + >&2 echo "Fatal to opendkim set-up : DKIM_SELECTOR environment variable is unset" + exit 1 +fi +echo "pica-generating opendkim tables (rsakeys and signingdomains tables) for domain ${MY_DOMAIN} and selector ${DKIM_SELECTOR}" +rm /etc/dkimkeys/rsakeys.table +echo "${DKIM_SELECTOR}._domainkey.${MY_DOMAIN} ${MY_DOMAIN}:${DKIM_SELECTOR}:/etc/dkimkeys/${DKIM_SELECTOR}.${MY_DOMAIN}.rsa" > /etc/dkimkeys/rsakeys.table +rm /etc/dkimkeys/signingdomains.table +echo "*@${MY_DOMAIN} ${DKIM_SELECTOR}._domainkey.${MY_DOMAIN}" > /etc/dkimkeys/signingdomains.table -- GitLab