diff --git a/pica-mail/docker-compose.yml b/pica-mail/docker-compose.yml index 0b3f5195f9cd621c4a64b86a8356f7503c351ac1..8226d5cfee3a995159a803f5ddc3233983660ce7 100644 --- a/pica-mail/docker-compose.yml +++ b/pica-mail/docker-compose.yml @@ -36,10 +36,11 @@ services: restart: unless-stopped mail-mta: - image: registry.picasoft.net/pica-mail-mta:v1.0.2 + image: registry.picasoft.net/pica-mail-mta:v1.0.3 build: ./pica-mail-mta container_name: pica-mail-mta ports: + - "25:25" - "587:587" networks: - mail @@ -49,42 +50,44 @@ services: - /var/log/opendmarc.log:/var/log/opendmarc.log # For sharing with exporter - mail-mta-spool:/var/spool/postfix - #doit contenir selecteur.domaine.rsa + # Doit contenir selecteur.domaine.rsa - /DATA/docker/mail/opendkim/:/etc/dkimkeys/ - /DATA/docker/certs/mail.picasoft.net/:/certs-ssl/:ro env_file: ./secrets/mail.secrets environment: - #hostname et port du serveur LMTP i.e. le MDA + # As specified in volume section, this is where + # keys generated by Traefik are mounted + SSL_CERT: "/certs-ssl/fullchain.pem" + SSL_KEY: "/certs-ssl/privkey.pem" + # Hostname et port du serveur LMTP i.e. le MDA LMTP_LAN_HOSTNAME: pica-mail-mda LMTP_PORT: 24 - #nom d'hôte sous lequel Postfix répondra aux requêtes SMTP + # Nom d'hôte sous lequel Postfix répondra aux requêtes SMTP MY_HOSTNAME: mail.picasoft.net - #domaine des mails + # Domaine des mails MY_DOMAIN: picasoft.net - #domaines mails qu'on s'autorise à relayer (qui ont le droit de passer à travers notre serveur si ils sont en expéditeur ou destinataire) + # Domaines mails qu'on s'autorise à relayer (qui ont le droit de passer à travers notre serveur si ils sont en expéditeur ou destinataire) RELAY_DOMAINS: picasoft.net - #réglage de la connexion au serveur LDAP: protocole (ldap ou ldaps), hôte et port + # Réglage de la connexion au serveur LDAP LDAP_PROTOCOL: ldaps LDAP_SERVER_HOSTNAME: ldap.picasoft.net LDAP_PORT: 636 - #réglage du bind : login d'un compte qui a suffisamment de droits pour lire l'arborescence (à l'exception des mots de passe) + # Réglage du bind : login d'un compte qui a suffisamment de droits pour lire l'arborescence (à l'exception des mots de passe) LDAP_BIND_DN: cn=nss,dc=picasoft,dc=net - #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 - #ce qui fait qu'on peut créer une adresse valide sans nécessairement lui associer un compte valide - #ainsi, on pourra recevoir des mails dans la boîte, mais on ne pourra pas se connecter en tant que cet utilisateur - #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: + # 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 + # On peut donc créer une adresse valide sans nécessairement lui associer un compte valide : on pourra recevoir des mails dans la boîte, mais on ne pourra pas se connecter en tant que cet utilisateur + # Il suffit d'utiliser des attributs LDAP différents : 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 - #filtre permettant de répertorier les comptes SASL + # Filtre permettant de répertorier les comptes SASL LDAP_SASL_FILTER: "cn=%u" - #filtre permettant de répertorier les adresses mail + # Filtre permettant de répertorier les adresses mail 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). + # 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 - #prefixe DKIM, utilise pour identifier la clef + # Préfixe DKIM, utilise pour identifier la clef DKIM_SELECTOR: janv2021 labels: traefik.http.routers.pica-mail-mta.rule: Host(`mail.picasoft.net`) diff --git a/pica-mail/pica-mail-mta/Dockerfile b/pica-mail/pica-mail-mta/Dockerfile index 551b808011030752d36c1002199f0881945c492f..842e43e339b72ea8d2302ae6ff9719ed7e7c1ea0 100644 --- a/pica-mail/pica-mail-mta/Dockerfile +++ b/pica-mail/pica-mail-mta/Dockerfile @@ -1,55 +1,26 @@ -#Dockerfile pour le MTA et MSA de Picasoft -#actuellement basé sur postfix -From debian:stretch +FROM debian:stretch +LABEL maintainer="picasoft@assos.utc.fr" -#lors de l'installation de postfix, par défaut, il y a des "fenêtres dans la console", ceci les désactive et utilise des réponses par défaut +# Use default answer for installation as no one can answer ENV DEBIAN_FRONTEND noninteractive -#installation des paquets debian RUN apt-get update -y \ && apt-get install -y \ less pflogsumm postfix postfix-ldap libsasl2-modules sasl2-bin opendkim opendkim-tools rsyslog opendmarc ca-certificates procps \ && rm -rf /var/lib/apt/lists/* - -#configuration de postfix -#nom de domaine des courriers dont on est à l'origine (pour s'en réserver l'exclusivité) -ENV MY_DOMAIN picasoft.net -#nom d'\hôte de la machine qui va faire tourner le MTA -ENV MY_HOSTNAME pica01-test.picasoft.net -#noms de domaines de courriers qu'on s'autorise à transmettre, séparés par des virgules (example.com, example2.com, example3.com) -ENV RELAY_DOMAINS picasoft.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 -ENV LDAP_SASL_FILTER cn=%u -#filtre sur les entrées demandées par virtual_mailbox. %s sera substitué par la partie gauche de l'adresse mail. -ENV LDAP_VIRTUAL_MAILBOX_FILTER uid=%s - -#Local Delivery (LMTP) -#adresse et port du LDA (dans notre cas, c'est le MDA Dovecot, embarqué dans un conteneur, et accessible à travers un docker network) -ENV LMTP_LAN_HOSTNAME pica-mail-mda-ldap.local-mail-delivery -ENV LMTP_PORT 24 - -#blacklist, peut être vide -ENV SMTPD_CLIENT_RESTRICTIONS reject_rbl_client sbl.spamhaus.org, reject_rbl_client dnsbl.sorbs.net - -# SSL -ENV SSL_CERT "/certs-ssl/fullchain.pem" -ENV SSL_KEY "/certs-ssl/privkey.pem" - -#configuration de OpenDKIM +# Copy DKIM and DMARC conf COPY spam/opendkim.conf /etc/ COPY spam/opendmarc.conf /etc/ -COPY spam/dkimkeys/* /etc/dkimkeys/ COPY spam/opendkim /etc/default/opendkim COPY spam/opendmarc /etc/default/opendmarc RUN mkdir /etc/opendmarc COPY --chown=opendmarc:opendmarc spam/ignore.hosts /etc/opendmarc/ignore.hosts +# Copy authentication daemon configuration COPY saslauthd-postfix /etc/default/ + +# Copy scripts for building configuration at startup COPY opendkim-tables.sh / COPY config.sh / COPY entrypoint.sh / diff --git a/pica-mail/pica-mail-mta/config.sh b/pica-mail/pica-mail-mta/config.sh index d0dc58de6fe53a52680870922b65f0da79a3b670..d3b19dae34a58d0d1bb99608657ec4219e11866d 100755 --- a/pica-mail/pica-mail-mta/config.sh +++ b/pica-mail/pica-mail-mta/config.sh @@ -1,21 +1,31 @@ #!/bin/bash -#edition de /etc/postfix/main.cf via un utilitaire fourni par postfix +# postconf permet de modifier /etc/postfix/main.cf -#identité -#nom de domaine des courriers dont on est à l'origine (pour s'en réserver l'exclusivité) +# 1. Identité +# Nom de domaine des courriers dont on est à l'origine (pour s'en réserver l'exclusivité) postconf -e "mydomain = ${MY_DOMAIN}" postconf -e "myorigin = ${MY_DOMAIN}" -#nom d'\hôte de la machine qui va faire tourner le MTA +# Nom d'hôte de la machine qui va faire tourner le MTA postconf -e "myhostname=${MY_HOSTNAME}" -#boîtes mail -#cette configuration permet à Postfix permet de savoir quelles adresses en @picasoft.net existent -#configuration du local delivery agent, ici c'est le MDA Dovecot, on communique avec le protocole LMTP sur TCP/IP (inet dans le jargon Postfix) +# 2. Boîtes mail +# Configuration du local delivery agent, ici c'est le MDA Dovecot, on communique avec le protocole LMTP sur TCP/IP (inet dans le jargon Postfix) postconf -e "virtual_transport = lmtp:inet:${LMTP_LAN_HOSTNAME}:${LMTP_PORT}" -#noms de domaines des boîtes gérées par ce serveur de fin de chaîne +# Noms de domaines des boîtes gérées par ce serveur de fin de chaîne postconf -e "virtual_mailbox_domains = ${MY_DOMAIN}, localhost.${MY_DOMAIN}, localhost" -#map: donne la liste des adresses existantes +# Pour chaque destinataire en picasoft.net, on consulte +# le LDAP pour savoir si l'adresse est valide +postconf -e "virtual_mailbox_maps = ldap:/etc/postfix/ldap-virtual-mailbox-maps" +# Pour chaque envoi de mail depuis une adresse picasoft.net (MAIL FROM), +# on consulte le LDAP pour savoir quel utilisateur SASL a le droit d'utiliser +# cette adresse (par défaut, lui seul) +postconf -e "smtpd_sender_login_maps = ldap:/etc/postfix/ldap-virtual-mailbox-maps" +# Utilisé pour construire la table utilisée ci-dessus (format adresse:UID). +# Si on trouve un compte LDAP qui correspond à l'adresse en question +# (avec la requête LDAP_VIRTUAL_MAILBOX_FILTER), +# on récupère son UID pour remplir la table (ce qui explique pourquoi +# un utilisateur a le droit de n'envoyer que pour lui même) cat <<EOF >> /etc/postfix/ldap-virtual-mailbox-maps server_host = ${LDAP_PROTOCOL}://${LDAP_SERVER_HOSTNAME}:${LDAP_PORT} search_base = ${LDAP_SEARCH_BASE} @@ -28,66 +38,60 @@ result_attribute = uid # Section LDAP SSL AND STARTTLS PARAMETERS version = 3 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 +# On fait confiance à l'hôte local, utile pour faire du debug postconf -e "mynetworks = 127.0.0.0/8" -#restrictions sur les destinataires -#les personnes authentifiées peuvent envoyer des mails à tout le monde, les personnes non authentifiées peuvent envoyer des mails seulement aux destinations connues donc des destinataires en @picasoft.net -#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" +# 3. Restrictions sur les destinataires +# Les personnes authentifiées peuvent envoyer des mails à tout le monde, les personnes non authentifiées peuvent envoyer des mails seulement aux destinations connues donc des destinataires en @picasoft.net +# 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' -#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. -#on interdit les domaines qui n'ont pas de A ou de MX +# Rejette les clients qui ne disent pas bonjour, ou qui disent +# bonjour (HELO ou EHLO) avec un nom de domaine non-valide, non pleinement +# qualifié (i.e. "absolu"), ou sans enregistrement DNS A ou MX. postconf -e "smtpd_helo_restrictions = reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname" postconf -e "smtpd_helo_required = yes" -#blacklists basées sur l'adresse du client +# Blacklists basées sur l'adresse du client postconf -e "smtpd_client_restrictions = ${SMTPD_CLIENT_RESTRICTIONS}" -#on interdit aux gens d'utiliser une adresse qui leur appartient pas +# On interdit aux gens d'utiliser une adresse qui leur appartient pas +# (typiquement lorsque smtpd_sender_login_maps donne un propriétaire pour +# le MAIL FROM, mais que ce propriétaire ne correspond pas au compte SASL courant) postconf -e "smtpd_sender_restrictions = reject_unauthenticated_sender_login_mismatch reject_authenticated_sender_login_mismatch" - -#Saslauthd - -#utiliser le démon saslauthd. Il est contacté par des appels de fonction à une lib et retourne la validité des login. +# 4. Authentification SASL +# Utiliser le démon saslauthd. Il est contacté par des appels de fonction à une lib et retourne la validité des login. +# PLAIN est un des mécanismes définis pour l'auth SASL = authentication simple +# avec mot de passe en clair. postconf -e "smtpd_sasl_path = smtpd" cat <<EOF >> /etc/postfix/sasl/smtpd.conf pwcheck_method: saslauthd mech_list: PLAIN LOGIN EOF -#fichiers de config et socket utilisés par le démon de saslauthd créé pour postfix (voir fichier copié dans le Dockerfile) +# Fichiers de config et socket utilisés par le démon de saslauthd créé pour postfix (voir fichier copié dans le Dockerfile) dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd adduser postfix sasl -service saslauthd restart -#activation du sasl +service saslauthd restart +# Activation du SASL postconf -e 'smtpd_sasl_local_domain = ' postconf -e 'smtpd_sasl_auth_enable = yes' -#autorise l'auth sasl seulement sur un canal tls +# Autorise l'auth SASL seulement sur un canal TLS postconf -e 'smtpd_tls_auth_only = yes' -#autorise l'auth depuis des clients connus comme obsolètes/non standard (outlook) mais ne présentant pas de faille de sécurité +# Autorise l'auth depuis des clients connus comme obsolètes/non standard (outlook) mais ne présentant pas de faille de sécurité postconf -e 'broken_sasl_auth_clients = yes' -#indique que la source des utilisateurs SASL est un serveur LDAP +# Indique que la source des utilisateurs SASL est un serveur LDAP cat <<EOF >> /etc/default/saslauthd-postfix MECHANISMS="ldap" MECH_OPTIONS="" EOF -#on enlève le démon saslauthd par défaut de debian (nous utilisons le fichier saslauthd-postfix) -#ça ne change rien à part qu'il n'y a pas de warning dans les logs concernant un service non utilisé +# On enlève le démon saslauthd par défaut de debian (nous utilisons le fichier saslauthd-postfix) rm /etc/default/saslauthd -#configuration de ce serveur LDAP +# Configuration de ce serveur LDAP cat <<EOF >> /etc/saslauthd.conf ldap_servers: ${LDAP_PROTOCOL}://${LDAP_SERVER_HOSTNAME}:${LDAP_PORT} ldap_bind_dn: ${LDAP_BIND_DN} @@ -95,10 +99,11 @@ ldap_bind_pw: ${LDAP_BIND_PW} ldap_search_base: ${LDAP_SEARCH_BASE} ldap_filter: ${LDAP_SASL_FILTER} EOF -#prise en compte de la config SASL +# Prise en compte de la config SASL service saslauthd restart service postfix restart +# 5. Configuration DMARC cat <<EOF >> /etc/opendmarc.conf #ajout de mon nom d'hôte TrustedAuthservIDs ${MY_HOSTNAME} @@ -107,56 +112,54 @@ AuthservID ${MY_HOSTNAME} IgnoreAuthenticatedClients true EOF -#configuration DKIM -#ecriture des tables indiquant quoi signer avec quelle clef +# 6. Configuration DKIM +# Écriture 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" -postconf -e "non_smtpd_milters = local:/opendkim/opendkim.sock, local:/opendmarc/opendmarc.sock" +postconf -e "smtpd_milters = unix:/opendkim/opendkim.sock, unix:/opendmarc/opendmarc.sock" +postconf -e "non_smtpd_milters = unix:/opendkim/opendkim.sock, unix:/opendmarc/opendmarc.sock" -#création des répertoires où transiteront les sockets + gestion des permissions +# 7. Répertoires pour les sockets et permissions en général mkdir /var/spool/postfix/opendkim mkdir /var/spool/postfix/opendmarc -#mkdir /etc/opendmarc chown -R opendmarc:opendmarc /etc/opendmarc chown -R opendkim:opendkim /etc/opendkim.conf /etc/dkimkeys chown opendmarc:opendmarc /etc/opendmarc.conf chown opendkim:postfix /var/spool/postfix/opendkim chown opendmarc:postfix /var/spool/postfix/opendmarc +# Workaround pour un problème de permission +touch /var/log/opendmarc.log +chown opendmarc:opendmarc /var/log/opendmarc.log adduser postfix opendkim adduser postfix opendmarc +# So that opendmarc can write to maildrop folder +adduser opendmarc postdrop - -#SSL : récupération des certificats (qui seront utilisés pour la connexion smtp) +# 8. Chiffrement +# SSL : récupération des certificats (qui seront utilisés pour la connexion SMTP) postconf -e "smtpd_tls_cert_file = ${SSL_CERT}" postconf -e "smtpd_tls_key_file = ${SSL_KEY}" postconf -e "smtpd_tls_security_level = may" -#autorise le SSL pour des mails sortant mais n'interdit pas le clair lorsque ce n'est pas disponible -postconf -e "smtp_tls_security_level=may" - - -#logs -# on garde les fichiers de logs pour les monter dans l'exporter -chown postfix:postfix /var/log/mail.log -chown opendmarc:postfix /var/log/opendmarc.log - -#activation du service smtps (sur le port 465 par défaut) +# Activation du port 587 (port "submission") cat <<EOF >> /etc/postfix/master.cf -smtps inet n - y - - smtpd submission inet n - y - - smtpd EOF -#workaround pour un problème de permission -touch /var/log/opendmarc.log -chown opendmarc:opendmarc /var/log/opendmarc.log +# Autorise le SSL pour des mails sortants mais n'interdit pas le clair lorsque ce n'est pas disponible +postconf -e "smtp_tls_security_level=may" + +# 9. Logs +# On garde les fichiers de logs pour les monter dans l'exporter +chown postfix:postfix /var/log/mail.log +chown opendmarc:postfix /var/log/opendmarc.log -#configuration du socket TCP/IP, on est obligé d'utiliser ipv4 pour la local delivery car les docker network ne supportent pas iPv6 par défaut +# 10. Socket TCP/IP +# On est obligé d'utiliser ipv4 pour la local delivery car les docker network ne supportent pas iPv6 par défaut postconf -e "inet_protocols = ipv4" -#enregistrement de cette instruction postfix reload -#il est nécessaire de stopper le démon pour effectivement modifier les sockets TCP/IP (par défaut iPv6) +# Il est nécessaire de stopper le démon pour effectivement modifier les sockets TCP/IP (par défaut IPv6) service postfix stop -#au cas où le démon postfix aurait été lancé indépendamment de systemd +# Au cas où le démon postfix aurait été lancé indépendamment de systemd postfix stop diff --git a/pica-mail/pica-mail-mta/rsyslog.conf b/pica-mail/pica-mail-mta/rsyslog.conf deleted file mode 100644 index 81a2ea20625b6511986db694d6f7bec79df7001c..0000000000000000000000000000000000000000 --- a/pica-mail/pica-mail-mta/rsyslog.conf +++ /dev/null @@ -1,95 +0,0 @@ -# /etc/rsyslog.conf Configuration file for rsyslog. -# -# For more information see -# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html - - -################# -#### MODULES #### -################# - -module(load="imuxsock") # provides support for local system logging -module(load="imklog") # provides kernel logging support -#module(load="immark") # provides --MARK-- message capability - -# provides UDP syslog reception -#module(load="imudp") -#input(type="imudp" port="514") - -# provides TCP syslog reception -#module(load="imtcp") -#input(type="imtcp" port="514") - - -########################### -#### GLOBAL DIRECTIVES #### -########################### - -# -# Use traditional timestamp format. -# To enable high precision timestamps, comment out the following line. -# -$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat - -# -# Set the default permissions for all log files. -# -$FileOwner root -$FileGroup adm -$FileCreateMode 0640 -$DirCreateMode 0755 -$Umask 0022 - -# -# Where to place spool and state files -# -$WorkDirectory /var/spool/rsyslog - -# -# Include all config files in /etc/rsyslog.d/ -# -$IncludeConfig /etc/rsyslog.d/*.conf - - -############### -#### RULES #### -############### - -# -# First some standard log files. Log by facility. -# -auth,authpriv.* /var/log/auth.log -*.*;auth,authpriv.none -/var/log/syslog -#cron.* /var/log/cron.log -daemon.* -/var/log/daemon.log -kern.* -/var/log/kern.log -lpr.* -/var/log/lpr.log -#sera redirige vers le stdout -mail.* -/var/log/mail.log -user.* -/var/log/user.log - -# -# Logging for the mail system. Split it up so that -# it is easy to write scripts to parse these files. -# -#mail.info -/var/log/mail.info -#mail.warn -/var/log/mail.warn -#mail.err /var/log/mail.err -#desactive car doublon avec mail.log - -# -# Some "catch-all" log files. -# -*.=debug;\ - auth,authpriv.none;\ - news.none;mail.none -/var/log/debug -*.=info;*.=notice;*.=warn;\ - auth,authpriv.none;\ - cron,daemon.none;\ - mail,news.none -/var/log/messages - -# -# Emergencies are sent to everybody logged in. -# -*.emerg :omusrmsg:* - diff --git a/pica-mail/pica-mail-mta/spam/dkimkeys/README.PrivateKeys b/pica-mail/pica-mail-mta/spam/dkimkeys/README.PrivateKeys deleted file mode 100644 index 1e9104aa7ff3b9a8682c1e0641f88e1e4a91fd29..0000000000000000000000000000000000000000 --- a/pica-mail/pica-mail-mta/spam/dkimkeys/README.PrivateKeys +++ /dev/null @@ -1,14 +0,0 @@ -This directory is for storing private keys associated with DKIM signing with -opendkim. - -Here is advice from upstream - -(4) Store the private key in a safe place. We generally use a path like - /var/db/dkim/SELECTOR.key.pem (where "SELECTOR" is the name you chose). - The /var/db/dkim directory and the associated .pem file should be owned by - the user that will be executing the filter (preferably not the - superuser) and be mode 0700 and 0600 respectively. - -In Debian, we use /etc/dkimkeys by default and the directory permissions and -ownership are set correctly. Ensure that the private key is owned by the -opendkim user and the permissions are 0600. diff --git a/pica-mail/pica-mail-mta/spam/dkimkeys/rsakeys.table b/pica-mail/pica-mail-mta/spam/dkimkeys/rsakeys.table deleted file mode 100644 index 4290bb1bcd29c612388c3543e71ab07e3fb81b88..0000000000000000000000000000000000000000 --- a/pica-mail/pica-mail-mta/spam/dkimkeys/rsakeys.table +++ /dev/null @@ -1 +0,0 @@ -nov2018._domainkey.picasoft.net picasoft.net:nov2018:/etc/dkimkeys/nov2018.picasoft.net.rsa diff --git a/pica-mail/pica-mail-mta/spam/dkimkeys/signingdomains.table b/pica-mail/pica-mail-mta/spam/dkimkeys/signingdomains.table deleted file mode 100644 index 161d9e20e25d02006fbd153f0e8c6ebd73a4f5c8..0000000000000000000000000000000000000000 --- a/pica-mail/pica-mail-mta/spam/dkimkeys/signingdomains.table +++ /dev/null @@ -1 +0,0 @@ -*@picasoft.net nov2018._domainkey.picasoft.net diff --git a/pica-mail/pica-mail-mta/spam/nov2018.picasoft.net.rsa b/pica-mail/pica-mail-mta/spam/nov2018.picasoft.net.rsa deleted file mode 100644 index a9e428bce58d45e80b8a553275ad7b67cee943d5..0000000000000000000000000000000000000000 --- a/pica-mail/pica-mail-mta/spam/nov2018.picasoft.net.rsa +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY-----