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 | ||
pratique:informatique:mail:serveur_mail2 [22/09/2024 11:42] – [Quota] Zatalyz | pratique:informatique:mail:serveur_mail2 [10/10/2024 12:33] (Version actuelle) – [Todo] Zatalyz | ||
---|---|---|---|
Ligne 145: | Ligne 145: | ||
===== Un peu de web ===== | ===== Un peu de web ===== | ||
Avec Apache, parce que je le connais, mais vu ce qu'il y a à faire, Nginx suffira aussi. Ou Lighttpd. Faites votre vie, adaptez. En vrai faudra que je vois à mettre Lighttpd qui serait parfait pour le job. | Avec Apache, parce que je le connais, mais vu ce qu'il y a à faire, Nginx suffira aussi. Ou Lighttpd. Faites votre vie, adaptez. En vrai faudra que je vois à mettre Lighttpd qui serait parfait pour le job. | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Si on utilise Apache, | ||
+ | </ | ||
+ | |||
C'est plus pour voir si ça marche... et par la suite, si un bot (voir une vraie curieuse) regarde la page principale, y'aura un bout d' | C'est plus pour voir si ça marche... et par la suite, si un bot (voir une vraie curieuse) regarde la page principale, y'aura un bout d' | ||
Ligne 523: | Ligne 528: | ||
</ | </ | ||
+ | |||
+ | ==== SIEVE ==== | ||
+ | SIEVE permet de créer des règles de filtre sur le serveur et donc de trier automatiquement les emails sans lien avec le client courriel. Pratique quand on switche entre webmail et divers thunderbird. Snappymail permet de gérer ces filtres ; il y avait un module thunderbird mais actuellement indisponible. | ||
Activer la gestion de sieve via lmtp | Activer la gestion de sieve via lmtp | ||
Ligne 530: | Ligne 538: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | Et indiquer que Sieve a le droit de marcher : | ||
+ | <code bash / | ||
+ | protocols = $protocols sieve | ||
+ | |||
+ | service managesieve-login { | ||
+ | inet_listener sieve { | ||
+ | port = 4190 | ||
+ | } | ||
+ | |||
+ | service_count = 1 | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Relancer Dovecot, puis vérifier que les ports sont bien ouverts : | ||
+ | |||
+ | < | ||
+ | lsof -i :4190 -P</ | ||
+ | |||
+ | Cela devrait donner ce genre de retour | ||
+ | < | ||
+ | COMMAND | ||
+ | dovecot 371602 root | ||
+ | dovecot 371602 root | ||
+ | </ | ||
+ | |||
+ | <WRAP center round todo 60%> | ||
+ | TODO : il va falloir ouvrir le port 4190 mais je garde ça sur la partie pare-feu. | ||
+ | </ | ||
==== Quotas ==== | ==== Quotas ==== | ||
Ligne 716: | Ligne 753: | ||
Postfixadmin étant un clicodrôme parfait, je vous laisse explorer. | Postfixadmin étant un clicodrôme parfait, je vous laisse explorer. | ||
+ | |||
+ | ===== Paramétrer les alias systèmes vers admin@ ===== | ||
+ | C'est bien beau tout ça, mais quand un mail interne au système (par exemple à root) est envoyé, il arrive où ? Nul part, et cette fois pas question de jouer avec [[pratique: | ||
+ | |||
+ | On commence par éditer ''/ | ||
+ | <code txt / | ||
+ | mailer-daemon: | ||
+ | postmaster: root | ||
+ | nobody: root | ||
+ | hostmaster: root | ||
+ | usenet: root | ||
+ | news: root | ||
+ | webmaster: root | ||
+ | www: root | ||
+ | ftp: root | ||
+ | abuse: root | ||
+ | noc: root | ||
+ | security: root | ||
+ | default: admin@example.org | ||
+ | root: admin@example.org | ||
+ | </ | ||
+ | |||
+ | Oui, sans le @ à la fin des alias, cette fois. Et vers admin@example.org ou autre, hein, tant que c'est un utilisateur présent sur le système. | ||
+ | |||
+ | Puis on régénère le fichier de postfix à propos des alias : | ||
+ | postalias / | ||
+ | |||
+ | Et on peut tester l' | ||
+ | echo " | ||
+ | |||
+ | Cela arrive bien dans la boite mail configurée ! | ||
===== Tester ===== | ===== Tester ===== | ||
- | À ce stade, on va pouvoir voir à quel point ça marche (ou pas). | + | On va pouvoir voir à quel point ça marche (ou pas). |
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Les infos ici peuvent être utilisées à divers stade du tutoriel pour voir ce qui marche. | ||
+ | </ | ||
Ajoutez un domaine sur l' | Ajoutez un domaine sur l' | ||
Ligne 740: | Ligne 812: | ||
* Vérifier que ''/ | * Vérifier que ''/ | ||
- | À ce stade, tout s'est passé en interne, et c'est déjà pas si mal. | + | Jusque là, tout s'est passé en interne, et c'est déjà pas si mal. |
Pour tester les limites de quota, créez un utilisateur avec un quota très bas (par exemple 1 Mo), puis créer un fichier à joindre " | Pour tester les limites de quota, créez un utilisateur avec un quota très bas (par exemple 1 Mo), puis créer un fichier à joindre " | ||
Ligne 753: | Ligne 825: | ||
mutt -f imaps:// | mutt -f imaps:// | ||
- | Prochain test : envoyer un mail à l'extérieur. | + | <WRAP center round tip 100%> |
+ | Envie de tester encore et encore, en changeant le sujet seulement pour voir ce qui passe ou pas ? J'ai un petit script bash pour ça : | ||
+ | <code bash mailtest.sh> | ||
+ | #!/bin/bash | ||
+ | # Vérifie si le sujet a été fourni en argument | ||
+ | if [ -z " | ||
+ | echo " | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | # Assigne le sujet à une variable | ||
+ | subject=" | ||
+ | |||
+ | # Définis le corps du message | ||
+ | body=" | ||
+ | |||
+ | # Chemin vers le fichier à joindre (quand on teste les quotas) | ||
+ | # | ||
+ | |||
+ | # Adresse e-mail du destinataire | ||
+ | recipient=" | ||
+ | |||
+ | # Envoie l' | ||
+ | # echo " | ||
+ | # OU sans la pièce jointe | ||
+ | echo " | ||
+ | echo " | ||
+ | |||
+ | </ | ||
+ | |||
+ | Il suffit ensuite de lancer le script en lui filant un sujet entre guillemets : | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Todo ==== | ||
+ | < | ||
+ | |||
+ | Il va falloir configurer dkim et tout l' | ||
+ | |||
+ | Tester aussi si je peux envoyer un message avec un de mes alias ET si je suis bloquée si je tente d' | ||
+ | |||
+ | Problème pour envoyer un message à " | ||
===== vieux tuto ===== | ===== vieux tuto ===== | ||
Ligne 778: | Ligne 893: | ||
- | |||
- | ===== Paramétrer les alias systèmes vers admin@ ===== | ||
- | C'est bien beau tout ça, mais quand un mail interne au système (par exemple à root) est envoyé, il arrive où ? Nul part, et cette fois pas question de jouer avec [[pratique: | ||
- | |||
- | On commence par éditer ''/ | ||
- | <code txt / | ||
- | mailer-daemon: | ||
- | postmaster: root | ||
- | nobody: root | ||
- | hostmaster: root | ||
- | usenet: root | ||
- | news: root | ||
- | webmaster: root | ||
- | www: root | ||
- | ftp: root | ||
- | abuse: root | ||
- | noc: root | ||
- | security: root | ||
- | default: admin@example.org | ||
- | root: admin@example.org | ||
- | </ | ||
- | |||
- | Oui, sans le @ à la fin des alias, cette fois. Et vers admin@example.org ou autre, hein, tant que c'est un utilisateur présent sur le système. | ||
- | |||
- | Puis on régénère le fichier de postfix à propos des alias : | ||
- | postalias / | ||
- | |||
- | Et on peut tester l' | ||
- | echo " | ||
- | |||
- | Cela arrive bien dans la boite mail configurée ! | ||
Ligne 1221: | Ligne 1305: | ||
Un petit '' | Un petit '' | ||
- | ===== ISPMail pour gérer domaines et users ===== | ||
- | C'est quand même plus pratique que de bidouiller la base de donnée, bien que la solution mérite d' | ||
- | |||
- | En profiter (si ce n'est déjà fait) pour sécuriser Apache d' | ||
- | |||
- | En principe on a déjà un admin pour la base de donnée Mailuser si on a suivi le tuto plus haut. | ||
- | |||
- | Télécharger [[https:// | ||
- | |||
- | Dans '' | ||
- | - Modifier '' | ||
- | - Décommenter '' | ||
- | - Modifier '' | ||
- | |||
- | Dans la config apache de ''/ | ||
- | < | ||
- | < | ||
- | Options FollowSymLinks MultiViews | ||
- | AllowOverride All | ||
- | Order allow,deny | ||
- | allow from all | ||
- | </ | ||
- | < | ||
- | Require all denied | ||
- | </ | ||
- | |||
- | </ | ||
- | |||
- | Se rendre sur index.php (chemin vers isp) et admirer une interface plus commode pour ajouter users, domaines, etc. | ||
- | |||
- | Une fois ISPMail installé, adminer ne sert à rien et présente une faille potentielle, | ||
- | sudo apt remove adminer | ||
===== Rspamd (à faire) ===== | ===== Rspamd (à faire) ===== | ||
Ligne 1288: | Ligne 1340: | ||
https:// | https:// | ||
- | ===== Filtres SIEVE ===== | ||
- | Cela va permettre de créer des règles de filtre sur le serveur et donc de trier automatiquement les emails sans lien avec le client courriel. Pratique quand on switche entre webmail et divers thunderbird. | ||
- | |||
- | En principe ce qu'on a déjà fait suffit en bonne partie, mais il vient le moment de le tester, et surtout de permettre de gérer ces filtres via un client mail (et ce sera plutôt via notre webmail snappymail que via thunderbird dont l' | ||
- | |||
- | Il faut modifier ''/ | ||
- | < | ||
- | protocols = $protocols sieve | ||
- | |||
- | service managesieve-login { | ||
- | inet_listener sieve { | ||
- | port = 4190 | ||
- | } | ||
- | |||
- | service_count = 1 | ||
- | } | ||
- | </ | ||
- | |||
- | Décommenter aussi cette ligne dans ''/ | ||
- | < | ||
- | </ | ||
- | |||
- | Relancer Dovecot, puis vérifier que les ports sont bien ouverts : | ||
- | service dovecot restart | ||
- | lsof -i :4190 -P | ||
- | |||
- | Cela devrait donner ce genre de retour | ||
- | < | ||
- | COMMAND | ||
- | dovecot 371602 root | ||
- | dovecot 371602 root | ||
- | </ | ||
- | Il faut qu' | ||
- | |||
- | iptables -A INPUT -p tcp --dport 4190 -j ACCEPT | ||
- | netfilter-persistent save | ||
- | |||
- | Il faut aussi permettre à ce port d' | ||
- | Et voilà, plus qu'à configurer le port et la possibilité d' | ||
===== Encore à faire ===== | ===== Encore à faire ===== | ||
* Paramétrage de rspamd, juste pour gérer les spams. | * Paramétrage de rspamd, juste pour gérer les spams. |