Outils pour utilisateurs

Outils du site


ateliers:serveurmail:pad

Ceci est une ancienne révision du document !


Copie du pad au 2017-05-08

https://mensuel.framapad.org/p/reset-mail
prochaine réunion: 14/05/2017 13h-15h
 
 
CR 07/05/2017 15h-17h
edition du wiki dovecot
ajout regle antispam 
/!\ regle(s)  a creer pour chacun utilisateur (.dovecot.sieve) (cf Changelog)
 
todo : continuer à éditer le wiki d'ici la semaine prochaine ~
 
CR 16/04/2017 13h-15h
 
Antispam: OpenSMTPD reçoit les mails et les fait traiter pour en vérifier la fiabilité avant de poser dans la mailbox pour que Dovecot les récupère.
Dans OpenSMTPD on ajoute "queue encryption" pour chiffrer la queue de traitement (stockée dans /tmp/)
 
 
Dovecot:
    * installer lmtpd (Local Mail Transport Protocol); il est activé par défaut
    * modifier /etc/dovecot/conf.d/10-director.conf (décommenter lmtp) et 10-master.conf (décommenter le mode de lmtp unix_listener)
    * problème rencontré: la configuration de dovecot (/etc/dovecot.conf) utilisée contraignait à utiliser uniquement imap 'protocols = imap': à supprimer
    * configurer lmtp https://wiki2.dovecot.org/LMTP
 
OpenSMTPD:
    * chiffrer la queue de traitement (smtpd.conf): queue encryption key #clef chaîne de caractères HEX générée par openssl
    * tag sur les mails qui rentrent:
        listen on eth0 port 25 tls pki mail.anarcha.pink hostname mail.anarcha.pink auth-optional tag IN
 
      listen on eth0 port 587 tls-require pki mail.anarcha.pink hostname mail.anarcha.pink auth tag IN
 
    * passer le traitement vers lmtpd:
 
            accept tagged IN from any for domain "anarcha.pink" alias <aliases> deliver to lmtp "/var/run/dovecot/lmtp"
 
      accept tagged IN from local for local alias <aliases> deliver to lmtp "/var/run/dovecot/lmtp" 
 
 
installation de rspamd (pas encore actif)
 
https://rspamd.com/downloads.html -> comment installer rspamd dans debian depuis les repository officiels rspamd
https://dev.sigpipe.me/dashie/setup_mail -> config de dashie (OpenSMTPd + dovecot + dkimproxy + rspamd)
 
wget
 
CR : 09/04/2017
 
http://librelist.com/browser/lesplanade/2011/5/25/fwd-tetalab-pourquoi-we-make-porn/
 
* documentation sur le wiki
 
Pour info le wiki reset:
    https://wiki.lereset.org/doku.php
 
Et pour l'atelier serveur communautaire
https://wiki.lereset.org/ateliers:serveurmail:start
 
Pour la doc -> https://mensuel.framapad.org/p/reset-mail-wiki
 
///
question d'ici la prochaine réunion :
en me connectant au serveur, j'ai trouvé à la racine un fichier "dead.letter" qui est vide (donc pas d'indices). est-ce parce que j'ai tenté d'envoyer un email depuis le smtp d'anarcha.pink dans thunderbird et que ça a échoué ou bien pour autre chose ? je vais continuer de chercher.
////
 
un projet de client mail qui peut nous intéresser https://autocrypt.readthedocs.io/en/latest/ ? -> Trop expérimental!
 
CR : 05/03/2017 13-15h
 
* TLS: letsencrypt https://www.linode.com/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates
 
    * INstall de letsencryp (attention présent dans jessie-backports)
 
    * Création du certificat: sudo letsencrypt certonly --standalone -d mail.anarcha.pink -d anarcha.pink
 
    * Modif d'opensmtpd pour TLS : https://www.opensmtpd.org/faq/example1.html + http://man.openbsd.org/OpenBSD-5.5/smtpd.conf.5
 
    * Modif de dovecot: https://rewopit.net/installer-certificat-lets-encrypt-postfixdovecot/ + http://wiki.dovecot.org/SSL/DovecotConfiguration (dh)
 
 
question : est-ce qu'à un moment donné on va installer le plugin pour dovecot fait par riseup (https://0xacab.org/riseuplabs/trees ) pour chiffrer les emails côté utilisateur⋅rice⋅s ? Oui. Mais plus tard. super !!
 
CR: 19/02/2017 15h-17h
https://tools.ietf.org/html/rfc821
 
* protocole IMAP: installation dovecot (Blog de Guillaume Vincent) (ajout de 
auth_mechanisms = plain login cram-md5; http://wiki.dovecot.org/BasicConfiguration
* Rédemarrage du service (sudo service <nom du service> restart (ou reload): avec reload il teste le nouveau fichier de conf avant de rédemarrer le service
* Faire lancer le service au démarrage de la machine: sudo systemctl enable dovecot (pour dovecot)
* Faire du mapping
 
Tutoriel pour une configuration similaire: http://guillaumevincent.com/2015/01/31/OpenSMTPD-Dovecot-SpamAssassin.html
 
CR 05/02 - 15h-17h
 
- sudo et autorisations unix: ne pas lancer de session avec sudo -i, cela empêche de voir qui a fait quoi. Préferer un 'sudo' avant chaqu commande le nécessitant
- Changelog, metche, etckeeper, apticron, etc, tmux
 
Session de partage de terminal (via tmux):
    - après s'être connecté par ssh:
    - tmux -S /tmp/sessions.tmux attach-session
    - une session partagée par tout le monde (lecture-écriture, attention)
 
-> Changelog : https://en.wikipedia.org/wiki/Changelog : les entrées les plus récentes en haut.
Exemple d'entrée:
 
2017-02-05  Okhin  <mail@mail.mail>
        * Changelog <nom du logiciel modifié>: Présentation du changelog (nom du fichier modifié)
        * apt: install tmux
 
* metche, pour garder trace des modifications (automatique, détaillé)
* apticron, pour télécharger les mises à jour (apt-get update).
* opensmtpd pour gérer l'envoi de mails du système.
 
    root et postmaster sont des comptes standard pour gérer l'intéraction avec les autres.
 
* pour permettre aux autres d'écrire sur anarcha.pink, il faut qu'ils sachent où est notre adresse. Pour cela, comme toujours, le DNS
 
CR 22/01 15h-17h
- OJ: Valider un nom : anarcha.pink
- Réserver un nom : 
- Démarrage du serveur : @IP: 46.226.111.145
- SSH for everyone
 
    copier sa clef sur le server: ssh-copy-id username@46.226.111.145
 
 
Ressources:
    - Serveur : okhin
    - Nom de domaine : elise
 
commande dig: sert pour connaître des détails sur l'adresse du nom de domaine; ça s'utilise dans le terminal en donnant un nom de domaine
dig monsite.fr NS: donne la liste des Serveurs de Nom qui sont responsables de donner la bonne adresse pour monsite.fr
dig monsite SOA
dig MX pour connaître le serveur mail
 
tld - top level domain 
.pink : tld aux USA (le même qu'info, sex, lgbt...). inconvénient surtout pour les infractions à la propriété intellectuelle (sous la loi US)
 
ssh
TOFU : Trust On First Use
commande sudo : pour être un utilisateur privilégié, par exemple "sudo ls"
 
Pour la liste: https://framalistes.org/
Édition - mise en route après avoir choisi un nom
 
Pour la gestion collective des serveurs:
    - LeLoop a écrit quelques aides techniques: http://wiki.leloop.org/index.php/Howto:Administration_systeme
    - Initgeri du pRINT avait écrit ce guide : https://print.squat.net/docs/kollectiv-admin/kollectiv-admin.pdf (imprimer pour mettre dans la biblio du RESET?) /!\ VIEUX (2003) les principes sont bons, les outils proposés sont datés.
    - riseup.net fournit quelques outils pour aider (mais pas vraiment de politique générale) https://labs.riseup.net/code/ et https://riseup.net/en/about-us explique un peu le pourquoid e riseup.
    - quelques textes rassemblés sur le sujet (plutôt théorique sur faire ensemble, serveurs féministes, codes de conduite, etc) : https://pad.amipo.fr/p/administration_collective
 
Ligne de commande Linux : https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux (à partir de la partie 2)
(j'ai débuté avec ce cours quand il est sorti en décembre 2006, je l'avais bien apprécié, je ne l'ai pas relu depuis, il a probablement été édité et remanié depuis)
Pour se familiariser avec la ligne de commande: https://www.learnenough.com/command-line-tutorial
Section SSH : https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux/la-connexion-securisee-a-distance-avec-ssh
La version "moderne" du sdz ne laisse voir que 5 pages par jour sans être inscrit⋅e. Solution : effacer ses cookies et/ou regarder le lien en navigation privée (et fermer la fenêtre de navigation privée toutes de les 5 pages. Oui, c'est pénible...)
sur ce site : https://openclassrooms.com/old-courses-pdf on trouve un pdf du cours ci dessus a ce lien : http://user.oc-static.com/pdf/12827-reprenez-le-controle-a-l-aide-de-linux.pdf
Une guide pour commencer (en) https://files.zoidberg.io/hacking/thelinuxcommandline.pdf
le floss manual francophone https://fr.flossmanuals.net/introduction-a-la-ligne-de-commande/_draft/_v/1.0/introduction

Copie du pad Wiki avant sa suppression (inutile de le garder).

https://mensuel.framapad.org/p/reset-mail-wiki
-> ordre chronologique, avec explication au fur et à mesure de ce qu'on fait ? Expliquer l'objectif et les éléments, puis faire un pas à pas
on met des petites explications + des ressources pour chaque étape ? Ressources réunies à la fin par bloc thématique, depuis les explication on fait un lien aux bloc de ressources
 
https://wiki.lereset.org/wiki:syntax
utiliser des hyperliens ? => rappeler de verifier la destination ?
 
Objectifs
 
L’idée c’est de créer un serveur (GNU/Linux) militant commun, permettant d’héberger des mails.
À l'heure actuelle on peut déjà recevoir et envoyer des mails, avec des adresses type mon_nom@anarcha.pink
 
Cette documentation est mise à disposition pour permettre à toute personne de rejoindre le groupe, de comprendre les étapes, et de voir où nous en sommes.
 
Il faut dans un premier temps créer un nom de domaine.
 
Nous choisissons  le Data Center de Gandi.
 
## Pré-réquis
 
- savoir utiliser la ligne de commande, c'est-à-dire du texte au clavier. Donc il faut ouvrir un terminal (modalitées différentes en fonction du system d'exploitation)
 
    Ressources :
 
    https://www.learnenough.com/command-line-tutorial (en)
 
    https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux (fr)
 
    https://fr.flossmanuals.net/introduction-a-la-ligne-de-commande/_draft/_v/1.0/introduction/ (fr)
 
    https://files.zoidberg.io/hacking/thelinuxcommandline.pdf (en)
 
 
 - SSH (présent par défaut sur les machines GNU/Linux, Mac; sur les Windows il faut avoir recours à PuTTY, Win10 RS2 -> option dev -> bash (theoriquement))
 
    Nous nous sommes créés des comptes sur le serveur (notre machine virtuelle chez Gandi) et nous pouvons donc nous y connecter à distance par SSH. Il suffit de taper dans son terminal "ssh mon_nom@anarcha.pink" pour pouvoir utiliser la machine comme notre propre ordinateur.
 
    Ressources : 
 
    https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux/la-connexion-securisee-a-distance-avec-ssh (fr)
 
- se souvenir de données d'identification (les données d'identification de quoi ?) (mot de passe, nom d'utilisateur... par exemple via un gestionnaire de mots de passe)
 
## Les ingrédients
 
- un nom de domaine (nécessite un registrar)
 
    Un TLD (top-level domain, domaine de premier niveau) est la dernière partie d'une adresse (le .com, .fr, .net...). Le choix du TLD définit le prix que l'on paie et le pays dont notre domaine dépend (ce qui peut être important au point de vue législatif). Nous avons choisi .pink, qui dépend de la loi états-unienne.
 
- choisir un hébergement : une machine virtuelle chez Gandi
 
## Architecture
Les briques dont on se sert pour mettre en place le serveur mail
- SMTP (pour envoyer les mails)
 
    SMTP (Simple Mail Transfer Protocol) est le protocole qui permet d'envoyer des mails.
 
    Pour ça on a utilisé OpenSMTPD
 
- IMAP (pour gérer )
 
    IMAP (Interactive Message Access Protocol) permet d'accéder à ses mails sur le serveur.
 
    Pour ça on a utilisé le logiciel Dovecot
 
- Chiffrement
 
    Pour ne pas faire connaître au monde entier les messages et les mots de passe
 
    On utilise le protocole de chiffrement TLS (Transport Layer Security) dans les versions 1.1 et 1.2
 
    Pour ça on a utilisé Let's Encrypt
 
 
## Logiciels installés
* système d'exploitation Debian Jessie
* metche, pour garder trace des modifications (automatique, détaillé)
 
    $ apt-get install metche
 
* netcat
* telnet
* opensmtpd pour gérer l'envoi de mails du système.
 
    root et postmaster sont des comptes standard pour gérer l'intéraction avec les autres.
 
    http://guillaumevincent.com/2015/01/31/OpenSMTPD-Dovecot-SpamAssassin.html
 
    $ apt-get install opensmtpd
 
    modification de la configuration /etc/smtpd.conf (voir plus bas)
 
* dovecot, pour servir les emails avec les protocoles IMAP et POP3. nous l'avons installé pour l'IMAP. 
Comment nous avons configuré Dovecot :  http://guillaumevincent.com/2015/01/31/OpenSMTPD-Dovecot-SpamAssassin.html
 
## fichiers de configuration
 
configuration d'opensmtpd 
/etc/smtp.conf
 
# This is the smtpd server system-wide configuration file.
# See smtpd.conf(5) for more information.
 
# pki setup
pki mail.anarcha.pink certificate "/etc/letsencrypt/live/mail.anarcha.pink/full$
pki mail.anarcha.pink key "/etc/letsencrypt/archive/mail.anarcha.pink/privkey1.$
pki mail.anarcha.pink dhparams "/etc/letsencrypt/csr/dhparams.pem"
 
# To accept external mail, replace with: listen on all
listen on eth0 port 25 tls pki mail.anarcha.pink hostname mail.anarcha.pink aut$
listen on eth0 port 587 tls-require pki mail.anarcha.pink hostname mail.anarcha$
listen on lo
 
# If you edit the file, you have to run "smtpctl update table aliases"
table aliases file:/etc/aliases
 
# Uncomment the following to accept external mail for domain "example.org"
accept from any for domain "anarcha.pink" alias <aliases> deliver to maildir "~$
accept from local for local alias <aliases> deliver to maildir "~/mails"
accept from local for any relay
 
## Méthode d'installation et d'administration collectives
- utilisation de tmux, un multiplexeur de terminal qui permet d'utiliser à plusieurs le même terminal en lecture/écriture afin que chacun⋅e voit ce qui se passe sur le serveur en même temps https://tmux.github.io//
 
    après s'être connecté par ssh:
 
    $ tmux -S /tmp/sessions.tmux attach-session
 
- édition du fichier Changelog sur le serveur à chaque installation de logiciel ou modification de configuration (avec les entrées les plus récentes en haut)  https://en.wikipedia.org/wiki/Changelog
 
 
(Nous rangeons maintenant. 
Pour rappel ce que nous avons écrit sur le ipad:
 
 
 
Dimanche 16 avril 13/15h
On va créer un service anti spam
 
Tout ce qui est taguer in part dans le lmtp .Aujourd’hui on a crée le socket.
dIFCOT va l’cérire dans home ton user mail dir.
 
Schéma bi directionnel.
 
On rajoute des boucles : opensmtpd, socket
 
On crée une syntaxe.
On regarde les paquets à mettre à jour.
 
Système ctl est systeme contrôle
Action que l’on veut faire comme restart
Puis smtp
Quand on met status, cela indique où on est en (validité)
Donc smtp et dove cot
Cela va nous laisser la possibilité de stocker les mails ;
A chaque fois que l’on fait quelque chose on change le  changelog (fichier dans lequel on retrouve tout ce que l’on a fait) :
 
Ajouts de tags, utilisation des tags, ajout du chiffrement des queues, utilisation de lmtp.
Dovecot : activer lmtp
(etc/dovecot.con, /etc :dovecot :conf.d /10 .
 
 
Là, on va dans 
Sudo nano
#1/bin/sh
 
On est en train d’écrire un logicile pour créer des commandes.
Arguments : $1 et $2
 
On récupère le mail smda et après on met sur entrée standard tout le mail 
 
Il va envoyer sur le port 10025
Quand on choisit un port, il faut choisir au dessus de 6500 (pour des services)
Le port SMTP étant 10025, on va l’utiliser.
 
On doit rendre le fichier exécutable ? Comment on change les permissions ?
On donne à tout le monde :
a+X ( all users)
On crée un nouveau LIsten, avec un tag  et spam done
On va prendre spam done (tout ce qui passe par un internet passe par), on considère que nous ne nous envoyons pas de spam.
Tout ce qui nous arrive en in doit passer par le 10025
On rajoute une règle : accepter tag deliver from any for domain
On doit lui donner des paramètres (sender rcpt ) de celui qui envoie à celui qui reçoit.
On fait un sous-système (ctl)
ateliers/serveurmail/pad.1494264863.txt.gz · Dernière modification : 2017/05/08 19:34 de tralala