diff --git a/docker-compose/mail.yml b/docker-compose/mail.yml index 8c27c419c36c9768e3cd1669c499131fc6673d72..3702eb69fd4b7f092dd91b35a64b779d69a5b5c0 100644 --- a/docker-compose/mail.yml +++ b/docker-compose/mail.yml @@ -32,7 +32,7 @@ services: - /DATA/docker/mail/ssl/:/certs-ssl/ environment: - LMTP_LAN_HOSTNAME=pica-mail-mda.pica_mail - - ENV LMTP_PORT=1025 + - ENV LMTP_PORT=24 - MY_HOSTNAME=pica01-test.picasoft.net labels: - "traefik.frontend.rule=Host:mail.test.picasoft.net" @@ -53,7 +53,7 @@ services: - DOMAIN=mail.test.picasoft.net - + networks: mail: diff --git a/pica-mail-mda/auth_LDAP/Dockerfile b/pica-mail-mda/auth_LDAP/Dockerfile index fb25482e6f10f10b21d9b79fdbd814cb684e838c..3a939ce24a3e49d1ad2aa8699d04e6b7e1af962d 100644 --- a/pica-mail-mda/auth_LDAP/Dockerfile +++ b/pica-mail-mda/auth_LDAP/Dockerfile @@ -4,16 +4,27 @@ From debian #lors de l'installation de dovecot, par défaut, il y a des "fenêtres dans la console", ceci les désactive et utilise des réponses par défaut ENV DEBIAN_FRONTEND noninteractive +### Définition des variables d'environnement. +# LDAP +ENV LDAP_ADDRESS ldap.test.picasoft.net +ENV LDAP_NSS_CN readonly +ENV LDAP_DC2 picasoft +ENV LDAP_DC1 net +ENV LDAP_DNPASS readonly +# SSL +# L'antislash "\" est nécessaire devant le slash "/" ! +ENV SSL_CERT "\/certs-ssl\/cert" +ENV SSL_KEY "\/certs-ssl\/key" + COPY fichiers_de_configuration.sh / #installation des paquets debian RUN apt-get update -y \ && apt-get install -y \ - dovecot-common dovecot-imapd dovecot-lmtpd dovecot-ldap \ + dovecot-common dovecot-imapd dovecot-lmtpd dovecot-ldap nano \ && rm -rf /var/lib/apt/lists/* \ && addgroup --gid 1000 vmail \ && adduser --system --disabled-login --no-create-home --ingroup vmail --uid 500 vmail \ - # Prévoir de lire des param de conf via variable d'environnement et passer en entrypoint && bash /fichiers_de_configuration.sh CMD ["dovecot", "-F"] diff --git a/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh b/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh index cc59a99858b3731e42214922db6d8cbee3a56c22..505286163564f1acfd14684ebfbbf5700373e005 100644 --- a/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh +++ b/pica-mail-mda/auth_LDAP/fichiers_de_configuration.sh @@ -7,29 +7,14 @@ ### Notes # La configuration de Dovecot étant éclatée dans plus d'une dizaine de fichiers, ce script # est censé être une alternative à la copie de tous ces fichiers pré-édité dans le conteneur. -# Fichier par fichier, il vient édité des paramètres spécifiques de Dovecot. -# Pour une utilisation basique, seule les variables d'environnement définies juste après doivent -# être définies. Le reste nécessite une connaissance plus fine de Dovecot. +# Fichier par fichier, il vient éditer des paramètres spécifiques de Dovecot. # La commande massivement utilisée dans ce script est sed. L'utilisation qui en # est faite est principalement celle-ci : # sed -i (édite le fichier) 's/regex identifiant la ligne à remplacer/ligne de substitution/' /chemin/du/fichier - -### Définition des variables d'environnement. -# LDAP -LDAP_ADRESS=ldap.test.picasoft.net -LDAP_NSS_CN=nss -LDAP_DC2=picasoft -LDAP_DC1=net -LDAP_DNPASS=rdonly -# SSL -# L'antislash est nécessaire devant le slash! -SSL_CERT="\/certs-ssl\/cert" -SSL_KEY="\/certs-ssl\/key" - ### Modification de /etc/dovecot/dovecot-ldap.conf.ext # Définition de l'adresse du LDAP -sed -i 's/^#hosts =.*/hosts = '"${LDAP_ADRESS}"'/' /etc/dovecot/dovecot-ldap.conf.ext +sed -i 's/^#hosts =.*/hosts = '"${LDAP_ADDRESS}"'/' /etc/dovecot/dovecot-ldap.conf.ext # Définition du distinguished name pour accéder au LDAP sed -i 's/^#dn =.*/dn = cn='"${LDAP_NSS_CN}"',dc='"${LDAP_DC2}"',dc='"${LDAP_DC1}"'/' /etc/dovecot/dovecot-ldap.conf.ext # Définition du mot de passe pour accéder au LDAP @@ -51,6 +36,9 @@ sed -i 's/^#user_filter = .*/user_filter = (uid=%n)/' /etc/dovecot/dovecot-ldap. sed -i 's/^#pass_filter = .*/pass_filter = (uid=%n)/' /etc/dovecot/dovecot-ldap.conf.ext #sed -i 's/^# = .*//' /etc/dovecot/dovecot-ldap.conf.ext +### Modification de /etc/dovecot/conf.d/auth-ldap.conf.ext +#sed + ### Modification de /etc/dovecot/conf.d/10-auth.conf # Le mécanisme d'authentification ne se fait pas par le système mais par un LDAP (inclusion du fichier de config) sed -i 's/^!include auth-system\.conf\.ext.*/#!include auth-system.conf.ext/' /etc/dovecot/conf.d/10-auth.conf diff --git a/pica-mail-mta/Dockerfile b/pica-mail-mta/Dockerfile index b2275b4ec8629e3ccc8d95d8bcd0e0bafc7e63b5..4fef2285b578fdeb1bc8bc5e50212bfdc24c0abc 100644 --- a/pica-mail-mta/Dockerfile +++ b/pica-mail-mta/Dockerfile @@ -29,8 +29,8 @@ ENV LDAP_PROTOCOL ldap ENV LDAP_SERVER_HOSTNAME ldap.test.picasoft.net ENV LDAP_PORT 389 #compte utilisé par les démons saslauthd et virtual_mailbox pour lire l'arborescence LDAP -ENV LDAP_BIND_DN cn=nss,dc=picasoft,dc=net -ENV LDAP_BIND_PW rdonly +ENV LDAP_BIND_DN cn=readonly,dc=picasoft,dc=net +ENV LDAP_BIND_PW readonly #niveau de l'arborescence à partir de laquelle les entrées sont considérées ENV LDAP_SEARCH_BASE dc=picasoft,dc=net #filtre sur les entrées demandées par saslauthd. %u sera substitué par le login entré par l'utilisateur