|
@@ -0,0 +1,2008 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
|
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
|
+<head>
|
|
|
+ <meta charset="utf-8">
|
|
|
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <title>Installation de dovecot et de l'authentification - The Yojik Server Installation Guide</title>
|
|
|
+
|
|
|
+
|
|
|
+ <link rel="shortcut icon" href="../img/favicon.ico">
|
|
|
+
|
|
|
+
|
|
|
+ <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
|
|
|
+
|
|
|
+ <link rel="stylesheet" href="../css/theme.css" type="text/css" />
|
|
|
+ <link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
|
|
|
+ <link rel="stylesheet" href="../css/highlight.css">
|
|
|
+
|
|
|
+
|
|
|
+ <script>
|
|
|
+ // Current page data
|
|
|
+ var mkdocs_page_name = "Installation de dovecot et de l'authentification";
|
|
|
+ var mkdocs_page_input_path = "10-dix.md";
|
|
|
+ var mkdocs_page_url = "/10-dix/";
|
|
|
+ </script>
|
|
|
+
|
|
|
+ <script src="../js/jquery-2.1.1.min.js"></script>
|
|
|
+ <script src="../js/modernizr-2.8.3.min.js"></script>
|
|
|
+ <script type="text/javascript" src="../js/highlight.pack.js"></script>
|
|
|
+ <script src="../js/theme.js"></script>
|
|
|
+
|
|
|
+
|
|
|
+</head>
|
|
|
+
|
|
|
+<body class="wy-body-for-nav" role="document">
|
|
|
+
|
|
|
+ <div class="wy-grid-for-nav">
|
|
|
+
|
|
|
+
|
|
|
+ <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
|
|
+ <div class="wy-side-nav-search">
|
|
|
+ <a href=".." class="icon icon-home"> The Yojik Server Installation Guide</a>
|
|
|
+ <div role="search">
|
|
|
+ <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
|
|
+ <input type="text" name="q" placeholder="Search docs" />
|
|
|
+ </form>
|
|
|
+</div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
+ <ul class="current">
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="..">Home</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../1-un/">Installation d'un serveur Debian/Stretch sécurisé</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../2-deux/">Premières étapes de sécurisation du serveur</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../3-trois/">Configuration du réseau</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../4-quatre/">Installation d'un serveur de temps</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../5-cinq/">Installation d'un pare-feu</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../6-six/">Contrer les attaques de brute-force avec fail2ban</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../7-sept/">Installation d'un serveur de courrier basique</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../8-huit/">Installation du serveur DNS</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../9-neuf/">Installation d'un serveur web</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 current">
|
|
|
+ <a class="current" href="./">Installation de dovecot et de l'authentification</a>
|
|
|
+
|
|
|
+ <ul>
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#installation-des-programmes">Installation des programmes</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#choix-de-la-base-de-donnees">Choix de la base de données</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#configuration-du-type-de-boite-aux-lettres">Configuration du type de boîte aux lettres</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#architecture">Architecture</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#schema-densemble">Schéma d'ensemble</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#explication">Explication:</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#les-ports-servis-par-postfix">Les ports servis par Postfix</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#les-ports-servis-par-dovecot">Les ports servis par Dovecot</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#ce-que-nous-allons-implementer">Ce que nous allons implémenter</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#configuration-de-dovecot">Configuration de Dovecot</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#mailbox-locations-and-namespaces">Mailbox locations and namespaces</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#configuration-des-certificats">Configuration des certificats</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#test">Test</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#test-de-la-connexion-sur-le-port-993-a-partir-dun-ordinateur-exterieur">Test de la connexion sur le port 993 à partir d'un ordinateur extérieur</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#configuration-dun-port-qui-naccepte-que-les-communications-chiffrees">Configuration d'un port qui n'accepte que les communications chiffrées.</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ <li class="toctree-l3"><a href="#smtps-inet-n-smtpd">smtps inet n - - - - smtpd</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#test_1">Test</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#test-de-connexion-sur-le-port-465">test de connexion sur le port 465</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#test_2">Test</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#test_3">Test</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#interdiction-de-communications-non-chiffrees-sur-le-port-465">Interdiction de communications non-chiffrées sur le port 465</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#ajout-de-la-gestion-du-port-587">Ajout de la gestion du port 587</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#ajout-de-la-gesion-du-port-993-imap-avec-ssltls">Ajout de la gesion du port 993 (imap avec SSL/TLS)</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#mise-en-route">Mise en route</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#mise-en-place-du-fichier-auto-configuration-mozilla">Mise en place du fichier "auto-configuration" Mozilla</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#test-en-situation">Test en situation ...</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#installation-dun-analyseur-des-logs-mail">Installation d'un analyseur des logs mail</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#hostdomain-summary-message-delivery">Host/Domain Summary: Message Delivery</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#senders-by-message-size">Senders by message size</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#recipients-by-message-size">Recipients by message size</a></li>
|
|
|
+
|
|
|
+ <li><a class="toctree-l4" href="#warnings">Warnings</a></li>
|
|
|
+
|
|
|
+
|
|
|
+ </ul>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../11-onze/">Installation des certificats letsencrypt</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../12-douze/">Ajout des enregistrements SPF et DKIM au fichier de zone DNS</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../17-dixsept/">Installation de programmes de surveillance du serveur</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../18-dixhuit/">Installation d'un webmail</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <li class="toctree-l1 ">
|
|
|
+ <a class="" href="../19-dixneuf/">Installation de git et de gogs</a>
|
|
|
+
|
|
|
+ </li>
|
|
|
+<li>
|
|
|
+
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </nav>
|
|
|
+
|
|
|
+ <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
+
|
|
|
+
|
|
|
+ <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
|
+ <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
|
+ <a href="..">The Yojik Server Installation Guide</a>
|
|
|
+ </nav>
|
|
|
+
|
|
|
+
|
|
|
+ <div class="wy-nav-content">
|
|
|
+ <div class="rst-content">
|
|
|
+ <div role="navigation" aria-label="breadcrumbs navigation">
|
|
|
+ <ul class="wy-breadcrumbs">
|
|
|
+ <li><a href="..">Docs</a> »</li>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <li>Installation de dovecot et de l'authentification</li>
|
|
|
+ <li class="wy-breadcrumbs-aside">
|
|
|
+
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <hr/>
|
|
|
+</div>
|
|
|
+ <div role="main">
|
|
|
+ <div class="section">
|
|
|
+
|
|
|
+ <p>## Installation de <strong>dovecot</strong> et de l'authentification</p>
|
|
|
+<p>Pour l'instant, pour récupérer ses émails, il faut d'abord avoir un compte sur le serveur et se loguer. Ensuite, avec la commande mailx, on peut voir ses messages.
|
|
|
+Exemple:</p>
|
|
|
+<pre><code class="shell">ericadmin@aijan:~$ mailx
|
|
|
+"/var/mail/ericadmin": 2 messages 2 non lus
|
|
|
+>U 1 Eric Streit dim. mai 20 08:4 20/742 essai d envoi à root
|
|
|
+ U 2 Eric Streit dim. mai 20 08:5 19/736 un autre essai
|
|
|
+?
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Nous allons installer dovecot qui est un serveur <strong>pop/imap</strong> et d'authentification <strong>SASL</strong>. Nous pourrons ensuite nous connecter sur le serveur avec un client mail comme <strong>thunderbird</strong>, et récupérer et envoyer nos messages avec celui-ci.</p>
|
|
|
+<h3 id="installation-des-programmes">Installation des programmes</h3>
|
|
|
+<p>Nous n'installerons que les programmes nécessaires à la gestion du protocole <strong>imap</strong> des courriers. Nous n'utilisons pas le protocole <strong>pop3</strong>.</p>
|
|
|
+<p>Tout d'abord, faites une copie de /etc/postfix/main.conf et /etc/postfix/master.conf:</p>
|
|
|
+<pre><code class="shell"># cp master.cf master.cf.orig
|
|
|
+# cp main.cf main.cf.orig
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Nous allons maintenant configurer nos boites émail; 2 systèmes sont courants: fichier unique qui contient tous vos messages (type mbox) ou répertoire avec un fichier par émail (type maildir). Par défaut, le type est mbox.
|
|
|
+Nous allons changer cela (question de goût ...) Pour cela, nous aurons besoins des programmes utilitaires installés avec dovecot.</p>
|
|
|
+<h3 id="choix-de-la-base-de-donnees">Choix de la base de données</h3>
|
|
|
+<p>Nous utiliserons la base de données <strong>sqlite</strong>. Il est bien sûr préférable d'utiliser une base de données plus traditionnelle comme <strong>mysql</strong> ou <strong>postgresql</strong> si le nombre d'utilisateurs est important. Mon serveur de mails n'aura que moins de 10 adresses émail, donc, <strong>sqlite</strong> suffira.</p>
|
|
|
+<pre><code class="shell">root@adara:/home/www# apt install dovecot-common dovecot-imapd dovecot-sqlite
|
|
|
+Lecture des listes de paquets... Fait
|
|
|
+Construction de l arbre des dépendances
|
|
|
+Lecture des informations d état... Fait
|
|
|
+Note : sélection de « dovecot-core » au lieu de « dovecot-common »
|
|
|
+The following additional packages will be installed:
|
|
|
+ libexttextcat-2.0-0 libexttextcat-data libstemmer0d
|
|
|
+Paquets suggérés :
|
|
|
+ dovecot-gssapi dovecot-sieve dovecot-pgsql dovecot-mysql dovecot-ldap dovecot-pop3d dovecot-lmtpd dovecot-managesieved dovecot-solr dovecot-lucene ufw
|
|
|
+Les NOUVEAUX paquets suivants seront installés :
|
|
|
+ dovecot-core dovecot-imapd dovecot-sqlite libexttextcat-2.0-0 libexttextcat-data libstemmer0d
|
|
|
+0 mis à jour, 6 nouvellement installés, 0 à enlever et 0 non mis à jour.
|
|
|
+Il est nécessaire de prendre 5 062 ko dans les archives.
|
|
|
+Après cette opération, 12,2 Mo d espace disque supplémentaires seront utilisés.
|
|
|
+Souhaitez-vous continuer ? [O/n] o
|
|
|
+Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 libexttextcat-data all 3.4.4-2 [167 kB]
|
|
|
+Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 libexttextcat-2.0-0 amd64 3.4.4-2+b1 [16,2 kB]
|
|
|
+Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 libstemmer0d amd64 0+svn585-1+b2 [63,3 kB]
|
|
|
+Réception de:4 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-core amd64 1:2.2.27-3+deb9u2 [3 324 kB]
|
|
|
+Réception de:5 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-imapd amd64 1:2.2.27-3+deb9u2 [814 kB]
|
|
|
+Réception de:6 http://debian.mirrors.ovh.net/debian stretch/main amd64 dovecot-sqlite amd64 1:2.2.27-3+deb9u2 [677 kB]
|
|
|
+5 062 ko réceptionnés en 0s (6 873 ko/s)
|
|
|
+Sélection du paquet libexttextcat-data précédemment désélectionné.
|
|
|
+(Lecture de la base de données... 26792 fichiers et répertoires déjà installés.)
|
|
|
+Préparation du dépaquetage de .../0-libexttextcat-data_3.4.4-2_all.deb ...
|
|
|
+Dépaquetage de libexttextcat-data (3.4.4-2) ...
|
|
|
+Sélection du paquet libexttextcat-2.0-0:amd64 précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../1-libexttextcat-2.0-0_3.4.4-2+b1_amd64.deb ...
|
|
|
+Dépaquetage de libexttextcat-2.0-0:amd64 (3.4.4-2+b1) ...
|
|
|
+Sélection du paquet libstemmer0d:amd64 précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../2-libstemmer0d_0+svn585-1+b2_amd64.deb ...
|
|
|
+Dépaquetage de libstemmer0d:amd64 (0+svn585-1+b2) ...
|
|
|
+Sélection du paquet dovecot-core précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../3-dovecot-core_1%3a2.2.27-3+deb9u2_amd64.deb ...
|
|
|
+Dépaquetage de dovecot-core (1:2.2.27-3+deb9u2) ...
|
|
|
+Sélection du paquet dovecot-imapd précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../4-dovecot-imapd_1%3a2.2.27-3+deb9u2_amd64.deb ...
|
|
|
+Dépaquetage de dovecot-imapd (1:2.2.27-3+deb9u2) ...
|
|
|
+Sélection du paquet dovecot-sqlite précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../5-dovecot-sqlite_1%3a2.2.27-3+deb9u2_amd64.deb ...
|
|
|
+Dépaquetage de dovecot-sqlite (1:2.2.27-3+deb9u2) ...
|
|
|
+Paramétrage de libstemmer0d:amd64 (0+svn585-1+b2) ...
|
|
|
+Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
|
|
|
+Paramétrage de libexttextcat-data (3.4.4-2) ...
|
|
|
+Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u3) ...
|
|
|
+Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
|
|
|
+Paramétrage de libexttextcat-2.0-0:amd64 (3.4.4-2+b1) ...
|
|
|
+Paramétrage de dovecot-core (1:2.2.27-3+deb9u2) ...
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/dovecot.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/dovecot-dict-auth.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/dovecot-dict-sql.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/dovecot-sql.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/10-auth.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/10-director.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/10-logging.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/10-mail.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/10-master.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/10-tcpwrapper.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/15-lda.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/15-mailboxes.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/90-acl.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/90-plugin.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/90-quota.conf with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/auth-checkpassword.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/auth-deny.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/auth-dict.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/auth-master.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/auth-passwdfile.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/auth-sql.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/auth-static.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/auth-system.conf.ext with new version
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/auth-vpopmail.conf.ext with new version
|
|
|
+Created symlink /etc/systemd/system/multi-user.target.wants/dovecot.service → /lib/systemd/system/dovecot.service.
|
|
|
+Paramétrage de dovecot-imapd (1:2.2.27-3+deb9u2) ...
|
|
|
+
|
|
|
+Creating config file /etc/dovecot/conf.d/20-imap.conf with new version
|
|
|
+Paramétrage de dovecot-sqlite (1:2.2.27-3+deb9u2) ...
|
|
|
+Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
|
|
|
+Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u3) ...
|
|
|
+Traitement des actions différées (« triggers ») pour dovecot-core (1:2.2.27-3+deb9u2) ...
|
|
|
+root@adara:/home/www#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<h3 id="configuration-du-type-de-boite-aux-lettres">Configuration du type de boîte aux lettres</h3>
|
|
|
+<p>Cela se passe dans le fichier /etc/postfix/main.cf
|
|
|
+On rajoute les lignes suivantes:</p>
|
|
|
+<pre><code>home_mailbox = Maildir/
|
|
|
+mailbox_command =
|
|
|
+</code></pre>
|
|
|
+<p>Si ces lignes existaient avant, il faut les commenter (ajout d'un # en début de ligne.)
|
|
|
+On recharge le fichier de conf</p>
|
|
|
+<pre><code>service postfix reload
|
|
|
+</code></pre>
|
|
|
+<p>Et on teste:</p>
|
|
|
+<pre><code class="shell">eric@aldebaran:~/Devs/Travail/Installation serveur/Tutorial$ mail ericadmin@aijan.yojik.net
|
|
|
+Cc:
|
|
|
+Subject: Re-essai
|
|
|
+re-essai de aldebaran
|
|
|
+.
|
|
|
+eric@aldebaran:~/Devs/Travail/Installation serveur/Tutorial$
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>J'envoie un courrier à partir de mon desktop.
|
|
|
+Vérification sur le serveur:</p>
|
|
|
+<pre><code class="shell">ericadmin@aijan:~$ ls
|
|
|
+bin index.html Maildir mbox
|
|
|
+ericadmin@aijan:~$
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Le répertoire Maildir a bien été créé.
|
|
|
+Vérification de la réception des messages:</p>
|
|
|
+<pre><code class="shell">ricadmin@aijan:~$ cd Maildir/
|
|
|
+ericadmin@aijan:~/Maildir$ ls
|
|
|
+cur new tmp
|
|
|
+ericadmin@aijan:~/Maildir$ cd new/
|
|
|
+ericadmin@aijan:~/Maildir/new$ ls
|
|
|
+1526897441.V801Icc005dM227044.aijan 1526897501.V801Icc0060M464181.aijan 1526897576.V801Icc0061M979030.aijan
|
|
|
+ericadmin@aijan:~/Maildir/new$
|
|
|
+
|
|
|
+ericadmin@aijan:~/Maildir/new$ cat 1526897576.V801Icc0061M979030.aijan
|
|
|
+Return-Path: <eric@aldebaran.yojik.net>
|
|
|
+X-Original-To: ericadmin@aijan.yojik.net
|
|
|
+Delivered-To: ericadmin@aijan.yojik.net
|
|
|
+Received: from aldebaran.yojik.net (unknown [IPv6:2a01:e0a:54:c220:6423:417b:6ef:ee21])
|
|
|
+ by aijan.yojik.net (Postfix) with ESMTP id EC11BD00903
|
|
|
+ for <ericadmin@aijan.yojik.net>; Mon, 21 May 2018 12:12:56 +0200 (CEST)
|
|
|
+Received: by aldebaran.yojik.net (Postfix, from userid 1000)
|
|
|
+ id 8B42920620A; Mon, 21 May 2018 12:12:56 +0200 (CEST)
|
|
|
+To: <ericadmin@aijan.yojik.net>
|
|
|
+Subject: Re-essai
|
|
|
+X-Mailer: mail (GNU Mailutils 3.1.1)
|
|
|
+Message-Id: <20180521101256.8B42920620A@aldebaran.yojik.net>
|
|
|
+Date: Mon, 21 May 2018 12:12:56 +0200 (CEST)
|
|
|
+From: eric@aldebaran.yojik.net (Eric Streit)
|
|
|
+
|
|
|
+re-essai de aldebaran
|
|
|
+.
|
|
|
+ericadmin@aijan:~/Maildir/new$
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Les messages sont bien reçus. Par contre, mailx ne fonctionne plus (uniquement avec des fichiers mbox.)
|
|
|
+Pour lire nos messages, il nous faut installer le lecteur de courriers <strong>mutt</strong>.</p>
|
|
|
+<pre><code class="shell">root@aijan:/etc/postfix# apt install mutt
|
|
|
+Lecture des listes de paquets... Fait
|
|
|
+Construction de l'arbre des dépendances
|
|
|
+Lecture des informations d'état... Fait
|
|
|
+The following additional packages will be installed:
|
|
|
+ libgmime-2.6-0 libgpgme11 libnotmuch4 libtalloc2 libtokyocabinet9
|
|
|
+Paquets suggérés :
|
|
|
+ gpgsm urlview mixmaster
|
|
|
+Les NOUVEAUX paquets suivants seront installés :
|
|
|
+ libgmime-2.6-0 libgpgme11 libnotmuch4 libtalloc2 libtokyocabinet9 mutt
|
|
|
+0 mis à jour, 6 nouvellement installés, 0 à enlever et 12 non mis à jour.
|
|
|
+Il est nécessaire de prendre 2 433 ko dans les archives.
|
|
|
+Après cette opération, 8 665 ko d'espace disque supplémentaires seront utilisés.
|
|
|
+Souhaitez-vous continuer ? [O/n] o
|
|
|
+Réception de:1 http://deb.debian.org/debian stretch/main amd64 libtokyocabinet9 amd64 1.4.48-11+b1 [367 kB]
|
|
|
+Réception de:2 http://deb.debian.org/debian stretch/main amd64 libgpgme11 amd64 1.8.0-3+b2 [160 kB]
|
|
|
+Réception de:3 http://deb.debian.org/debian stretch/main amd64 libgmime-2.6-0 amd64 2.6.22+dfsg2-1 [232 kB]
|
|
|
+Réception de:4 http://deb.debian.org/debian stretch/main amd64 libtalloc2 amd64 2.1.8-1 [36,3 kB]
|
|
|
+....
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>On teste; on le lance avec la commande suivante:</p>
|
|
|
+<pre><code class="shell">ericadmin@aijan:~$ mutt -f ./Maildir/
|
|
|
+GPGME : protocole CMS non disponible
|
|
|
+3 gardé(s), 0 effacé(s).
|
|
|
+ericadmin@aijan:~$
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Résultat: (extrait de l'écran)</p>
|
|
|
+<pre><code class="shell">q:Quitter d:Effacer u:Récup s:Sauver m:Message r:Répondre g:Groupe ?:Aide
|
|
|
+ 1 O + mai 21 root (0,1K) Essai
|
|
|
+ 2 O F mai 21 To root@localho (0,1K) essai d'envoi à root
|
|
|
+ 3 O + mai 21 Eric Streit (0,1K) Re-essai
|
|
|
+
|
|
|
+NeoMutt: ./Maildir/ [Msgs:3 Old:3 1,6K](threads/date)-
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Nos émails sont bien là :) Nous pourrons supprimer mutt plus tard si nous voulons gagner un peu de place.</p>
|
|
|
+<h2 id="architecture">Architecture</h2>
|
|
|
+<p>Avant de continuer à configurer notre serveur mail, il serait utile d'avoir une vue d'ensemble du système que nous allons configurer. Pour l'instant, nous n'avons apporté que peu de modifications aux fichiers de configuration (nous avons seulement changé le type de format de nos boîtes aux lettres :</p>
|
|
|
+<pre><code>mbox -> Maildir
|
|
|
+</code></pre>
|
|
|
+<p>Si nous regardons quels ports sont écoutés; nous voyons que nous avons pour l'instant:</p>
|
|
|
+<pre><code>le port 22 (SSH)
|
|
|
+le port 25 (Postfix)
|
|
|
+le port 80 (Apache)
|
|
|
+le port 443 (Apache)
|
|
|
+le port 53 et 953 (Bind)
|
|
|
+</code></pre>
|
|
|
+<p>et le port 143 (imap) de dovecot, mais dovecot n'est pas encore intégré à notre serveur mail et est <strong>non-configuré</strong>.</p>
|
|
|
+<pre><code class="shell">root@aijan:/home/ericadmin# netstat -tlnp
|
|
|
+Connexions Internet actives (seulement serveurs)
|
|
|
+Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
|
|
|
+tcp 0 0 192.168.111.240:53 0.0.0.0:* LISTEN 536/named
|
|
|
+tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 536/named
|
|
|
+tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 603/sshd
|
|
|
+tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 850/master
|
|
|
+tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 536/named
|
|
|
+tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 676/apache2
|
|
|
+tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 607/dovecot
|
|
|
+tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 676/apache2
|
|
|
+tcp6 0 0 :::53 :::* LISTEN 536/named
|
|
|
+tcp6 0 0 :::22 :::* LISTEN 603/sshd
|
|
|
+tcp6 0 0 :::25 :::* LISTEN 850/master
|
|
|
+tcp6 0 0 ::1:953 :::* LISTEN 536/named
|
|
|
+tcp6 0 0 :::143 :::* LISTEN 607/dovecot
|
|
|
+root@aijan:/home/ericadmin#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Notez la commande <strong>netstat -tlnp</strong> pour voir les ports ouverts ainsi que les programmes qui les gèrent.</p>
|
|
|
+<p><img alt="Notre serveur de mail" src="../Images/dessin.svg" /></p>
|
|
|
+<p>Nous n'utiliserons pas le protocole Pop3 (ni sa variante pop3s). Le protocole Imap offre bien plus de possibilités. (parties rouges entourées de noir)</p>
|
|
|
+<h2 id="schema-densemble">Schéma d'ensemble</h2>
|
|
|
+<p>Les parties implémentées sont en rouge sur le dessin suivant:</p>
|
|
|
+<p><img alt="Notre serveur de mail" src="../Images/dessin1.svg" /></p>
|
|
|
+<h2 id="explication">Explication:</h2>
|
|
|
+<h3 id="les-ports-servis-par-postfix">Les ports servis par Postfix</h3>
|
|
|
+<ol>
|
|
|
+<li>Le port 25 est utilisé pour la communication entre serveurs smtp; il permet une connexion "en clair" ou chiffrée. Il peut être aussi utilisé pour l'envoi des mails à partir d'un client. Nous l'avons d'ailleurs fait avec la commande <strong>mail</strong> et <strong>telnet</strong>. </li>
|
|
|
+<li>Le port 587 est le port "submission", port utilisé par défaut par les <strong>clients mail</strong> pour <strong>envoyer</strong> du courrier sur le serveur (thunderbird, etc ...) qui le dispatche ensuite, soit dans les boîtes de courrier locales, soit à un destinataire extérieur.</li>
|
|
|
+<li>Le port 465 est un port qui a été réservé pour les communications chiffrées (SMTP over SSL): il était utilisé avant que STARTTLS ne soit utilisé; il a été enlevé des ports standards de mail.</li>
|
|
|
+</ol>
|
|
|
+<p>Le premier port (25) est un port d'entrée-sortie réservé à la communication entre serveurs ("mais permet aussi la submission de messages avec authentification".) Souvenez-vous que le port 25 est bloqué par de nombreux FAI. La communication peut être chiffrée ou non, suivant les possibilités du serveur et du client, et donc, les mots de passe peuvent passer en clair. La communication commence en mode "clair" et après négociation, passe en mode "chiffrée" si celle-ci est disponible: (STARTTLS)</p>
|
|
|
+<p>Les 2 derniers ports (465 et 587) sont des ports d'entrée de vos messages envoyés par des clients, après authentification, en mode chiffré ou non. </p>
|
|
|
+<h2 id="les-ports-servis-par-dovecot">Les ports servis par Dovecot</h2>
|
|
|
+<ol>
|
|
|
+<li>Les ports 143 et 993 sont des ports réservés au protocole IMAP(s).</li>
|
|
|
+<li>Les port 110 et 995 sont des ports réservés au protocole POP3(s), mais nous ne l'utiliserons pas.</li>
|
|
|
+</ol>
|
|
|
+<p>Ces ports sont servis par Dovecot. Il permettent de gérer notre boîte mail, récupérer, effacer nos messages, créer des dossiers dans lesquels nous pouvons trier nos messages.</p>
|
|
|
+<h2 id="ce-que-nous-allons-implementer">Ce que nous allons implémenter</h2>
|
|
|
+<p>Nous implémenterons une politique particulière, comme celle décrite ici:
|
|
|
+<a href="https://samhobbs.co.uk/2013/12/raspberry-pi-email-server-part-2-dovecot">RasperryPi Email server Part 2</a>
|
|
|
+Cet auteur sépare les communications entre serveurs (port 25) et client-serveur (ports 587 et 465). Il empêche les communications non-chifrées entre client et serveur, et utilise le port 465 pour les communications chiffrées (déprécié par le standard.)
|
|
|
+Jusqu'à maintenant, nous n'avons utilisé ni dovecot, ni base de données; l'authentification se faisant directement sur le serveur en accédant à notre compte sur le serveur (login par identifiant/mot de passe ou clef SSH).
|
|
|
+Nous allons implémenter l'accès par <strong>Imap</strong> et <strong>Imaps</strong> de nos courriers à partir de n'importe quelle machine et avec authentification (toujours pas de comptes virtuels.) L'authentification se faisait avant en se connectant sur nos comptes en <strong>SSH</strong>. Nous avons déjà généré auparavant nos clefs de chiffrage avec <strong>certbot</strong>. (voir le chapitre suivant ...)
|
|
|
+Elles sont situées dans <strong>/etc/letsencrypt/live/atom.yojik.net</strong>.
|
|
|
+Dovecot est un serveur Imap et pop3. Il assure en plus l'authentification.</p>
|
|
|
+<h2 id="configuration-de-dovecot">Configuration de Dovecot</h2>
|
|
|
+<ol>
|
|
|
+<li>
|
|
|
+<p>Indiquer à Dovecot d'écouter sur toutes les interfaces, en IPV4 et IPV6. Le fichier à configurer (après copie) est <strong>/etc/dovecot/dovecot.conf</strong>; changer la ligne qui contient:</p>
|
|
|
+<blockquote>
|
|
|
+<p>listen =
|
|
|
+en
|
|
|
+listen = *, ::</p>
|
|
|
+</blockquote>
|
|
|
+</li>
|
|
|
+<li>
|
|
|
+<p>Il faut lui indiquer <strong>où</strong> sont stockés nos mails et sous quel <strong>format</strong>. Cela se configure dans le fichier:</p>
|
|
|
+<p>/etc/dovecot/conf.d/10-mail.conf
|
|
|
+Voici un extrait du contenu original:</p>
|
|
|
+<p>```shell</p>
|
|
|
+<h2 id="mailbox-locations-and-namespaces">Mailbox locations and namespaces</h2>
|
|
|
+<h2 id="_1"></h2>
|
|
|
+<p>mail_location = mbox:~/mail:INBOX=/var/mail/%u
|
|
|
+```</p>
|
|
|
+</li>
|
|
|
+</ol>
|
|
|
+<p>Le format par défaut est <strong>mbox</strong> situé dans <strong>/var/mail/user</strong>
|
|
|
+ Nous allons changer cela en:</p>
|
|
|
+<pre><code>```shell
|
|
|
+mail_location = maildir:~/Maildir
|
|
|
+```
|
|
|
+</code></pre>
|
|
|
+<p>Dovecot utilisera notre boîte aux lettres située dans le home de chaque user, et dans le répertoire Maildir.</p>
|
|
|
+<p>Souvenez-vous que nous avions configuré Postfix afin qu'il utilise le format Maidir.</p>
|
|
|
+<ol>
|
|
|
+<li>Indiquer à Postfix d'utiliser dovecot pour l'accès aux mails ainsi que pour l'authentification.</li>
|
|
|
+</ol>
|
|
|
+<p>Nous allons modifier le fichier <strong>/etc/postfix/main.cf</strong> et ajouter les lignes suivantes:</p>
|
|
|
+<pre><code>> smtpd_sasl_type = dovecot
|
|
|
+smtpd_sasl_path = private/auth
|
|
|
+smtpd_sasl_auth_enable = yes
|
|
|
+
|
|
|
+Nous allons indiquer à Dovecot de répondre aux demandes d'authentification de postfix:
|
|
|
+Après avoir fait une sauvegarde du fichier original /etc/dovecot/conf.d/10-master.conf (toujours sauvegarder les fichiers avant modifications!), nous allons modifier le mécanisme d'authentification de docvecot. Pour cela nous allons remplacer la partie intitulée **service auth** par ce qui suit:
|
|
|
+
|
|
|
+ ```shell
|
|
|
+service auth {
|
|
|
+ unix_listener /var/spool/postfix/private/auth {
|
|
|
+ mode = 0660
|
|
|
+ user = postfix
|
|
|
+ group = postfix
|
|
|
+ }
|
|
|
+ }
|
|
|
+</code></pre>
|
|
|
+<p>```</p>
|
|
|
+<ol>
|
|
|
+<li>Autorisons maintenant le <strong>plain login</strong>; nous allons modifier le fichier <strong>/etc/dovecot/conf.d/10-auth.conf</strong> en ajoutant ou modifiant les lignes suivantes:
|
|
|
+ > disable_plaintext_auth = no
|
|
|
+ auth_mechanisms = plain login</li>
|
|
|
+</ol>
|
|
|
+<p>On relance postfix et dovecot pour prendre en compte les modifications.
|
|
|
+ <code>shell
|
|
|
+ root@atom:/etc/postfix# systemctl restart postfix
|
|
|
+ root@atom:/etc/postfix# systemctl restart dovecot</code>
|
|
|
+ On vérifie que tout s'est bien passé avec la commande:
|
|
|
+ <code>shell
|
|
|
+ root@atom:/etc/postfix# tail -f /var/log/daemon.log
|
|
|
+ Nov 26 12:47:22 atom systemd[1]: Stopped Postfix Mail Transport Agent (instance -).
|
|
|
+ Nov 26 12:47:22 atom systemd[1]: Starting Postfix Mail Transport Agent (instance -)...
|
|
|
+Nov 26 12:47:23 atom systemd[1]: Started Postfix Mail Transport Agent (instance -).
|
|
|
+ Nov 26 12:47:23 atom systemd[1]: Starting Postfix Mail Transport Agent...
|
|
|
+ Nov 26 12:47:23 atom systemd[1]: Started Postfix Mail Transport Agent.
|
|
|
+ Nov 26 12:47:28 atom systemd[1]: Stopping Dovecot IMAP/POP3 email server...
|
|
|
+ Nov 26 12:47:29 atom systemd[1]: Stopped Dovecot IMAP/POP3 email server.
|
|
|
+ Nov 26 12:47:29 atom systemd[1]: Starting Dovecot IMAP/POP3 email server...
|
|
|
+ Nov 26 12:47:29 atom systemd[1]: dovecot.service: PID file /var/run/dovecot/master.pid not readable (yet?) after start: No such file or directory
|
|
|
+ Nov 26 12:47:29 atom systemd[1]: Started Dovecot IMAP/POP3 email server.</code>
|
|
|
+ On quitte avec Ctrl C.
|
|
|
+ C'est bon.</p>
|
|
|
+<ol>
|
|
|
+<li>Test 1: Nous allons nous connecter avec telnet; voici la capture de la session:
|
|
|
+ Tout d'abord, création d'un nouvel utilisateur de nom testmail et mot de passe testmail (oui, rien de bien original). A partir du compte root, nous allons envoyer un message à cet utilisateur (voir au-dessus pour comment faire avec la commande mail.)
|
|
|
+ Testons si le message est bien arrivé:</li>
|
|
|
+</ol>
|
|
|
+<p><code>shell
|
|
|
+ root@atom:/etc/postfix# adduser testmail
|
|
|
+Ajout de l'utilisateur « testmail25 » ...
|
|
|
+Ajout du nouveau groupe « testmail25 » (1001) ...
|
|
|
+Ajout du nouvel utilisateur « testmail25 » (1001) avec le groupe « testmail25 » ...
|
|
|
+Création du répertoire personnel « /home/testmail25 »...
|
|
|
+Copie des fichiers depuis « /etc/skel »...
|
|
|
+ Entrez le nouveau mot de passe UNIX :
|
|
|
+ Retapez le nouveau mot de passe UNIX :
|
|
|
+ passwd: password updated successfully
|
|
|
+ Changing the user information for testmail
|
|
|
+ Enter the new value, or press ENTER for the default
|
|
|
+ Full Name []:
|
|
|
+ Room Number []:
|
|
|
+ Work Phone []:
|
|
|
+ Home Phone []:
|
|
|
+ Other []:
|
|
|
+Cette information est-elle correcte ? [O/n]o
|
|
|
+root@atom:/etc/postfix# mail testmail
|
|
|
+Cc:
|
|
|
+Subject: Essai 7
|
|
|
+Essai 7
|
|
|
+.
|
|
|
+root@atom:/etc/postfix# su - testmail
|
|
|
+testmail25@atom:~$ mutt -f ./Maildir/
|
|
|
+GPGME : protocole CMS non disponible
|
|
|
+1 gardé(s), 0 effacé(s).</code></p>
|
|
|
+<p>Le message est bien arrivé. Essayons avec les commandes Imap; il nous faut installer telnet avant:</p>
|
|
|
+<blockquote>
|
|
|
+<p>apt install telnet</p>
|
|
|
+</blockquote>
|
|
|
+<p>Nous pouvons donc nous connecter aux ports suivants: 143 et 993.</p>
|
|
|
+<p><code>shell
|
|
|
+ root@aijan:/home/ericadmin# telnet localhost 143
|
|
|
+ Trying ::1...
|
|
|
+ Connected to localhost.
|
|
|
+ Escape character is '^]'.
|
|
|
+ * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
|
|
|
+ x1 LOGIN testmail testmail
|
|
|
+ x1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
|
|
|
+ x2 SELECT Inbox
|
|
|
+ * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
|
|
|
+ * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
|
|
|
+ * 1 EXISTS
|
|
|
+ * 1 RECENT
|
|
|
+ * OK [UNSEEN 1] First unseen.
|
|
|
+ * OK [UIDVALIDITY 1527165527] UIDs valid
|
|
|
+ * OK [UIDNEXT 2] Predicted next UID
|
|
|
+ x2 OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
|
|
|
+ x4 LOGOUT
|
|
|
+ * BYE Logging out
|
|
|
+ x4 OK Logout completed (0.000 + 0.000 secs).
|
|
|
+ Connection closed by foreign host.
|
|
|
+ root@aijan:/home/ericadmin#</code>
|
|
|
+ Ça marche: <strong>OK [UNSEEN 1] First unseen.</strong>
|
|
|
+Nous nous sommes connectés avec le mot de passe en clait (testmail pour l'utilisateur testmail.)</p>
|
|
|
+<ol>
|
|
|
+<li>Test 2: envoi de mail
|
|
|
+ Connexion sur le port 25 (postfix) en utilisant l'authentification gérée par dovecot.
|
|
|
+ Nous avons chiffré le mot de passe avec la commande suivante:<blockquote>
|
|
|
+<p>printf '\0%s\0%s' 'testmail' 'testmail' | openssl base64
|
|
|
+ AHRlc3RtYWlsAHRlc3RtYWls</p>
|
|
|
+</blockquote>
|
|
|
+</li>
|
|
|
+</ol>
|
|
|
+<p><code>shell
|
|
|
+ root@aijan:/home/ericadmin# telnet localhost 25
|
|
|
+ Trying ::1...
|
|
|
+ Connected to localhost.
|
|
|
+ Escape character is '^]'.
|
|
|
+ 220 aijan.yojik.net ESMTP Postfix (Debian/GNU)
|
|
|
+ ehlo localhost
|
|
|
+ 250-aijan.yojik.net
|
|
|
+ 250-PIPELINING
|
|
|
+ 250-SIZE 10240000
|
|
|
+ 250-VRFY
|
|
|
+ 250-ETRN
|
|
|
+ 250-STARTTLS
|
|
|
+ 250-AUTH PLAIN LOGIN
|
|
|
+ 250-ENHANCEDSTATUSCODES
|
|
|
+ 250-8BITMIME
|
|
|
+ 250-DSN
|
|
|
+ 250 SMTPUTF8
|
|
|
+ AUTH PLAIN AHRlc3RtYWlsAHRlc3RtYWls
|
|
|
+ 235 2.7.0 Authentication successful
|
|
|
+ mail from: testmail
|
|
|
+ 250 2.1.0 Ok
|
|
|
+ data
|
|
|
+ 554 5.5.1 Error: no valid recipients
|
|
|
+ rcpt to: ericounet26200@gmail.com
|
|
|
+ 250 2.1.5 Ok
|
|
|
+ data
|
|
|
+ 354 End data with <CR><LF>.<CR><LF>
|
|
|
+ Subject: mon, premier mail avec sasl
|
|
|
+ mon premier mail avec sasl
|
|
|
+ .
|
|
|
+ 250 2.0.0 Ok: queued as A664BD004A1
|
|
|
+ quit
|
|
|
+ 221 2.0.0 Bye
|
|
|
+ Connection closed by foreign host.
|
|
|
+ root@aijan:/home/ericadmin#</code>
|
|
|
+ Vérification de la bonne réception du message: le message est bien reçu.</p>
|
|
|
+<h2 id="configuration-des-certificats">Configuration des certificats</h2>
|
|
|
+<p>Jusqu'à présent, nous avons utilisé les certificats fournis par Debian à l'installation.
|
|
|
+Nous allons utiliser les certificats que nous avons créés auparavant avec letsencrypt.
|
|
|
+Il y a 2 lignes à modifier dans /etc/postfix/main.cf:</p>
|
|
|
+<blockquote>
|
|
|
+<p>smtpd_tls_cert_file = /etc/letsencrypt/live/toto.yojik.net/fullchain.pem
|
|
|
+smtpd_tls_key_file = /etc/letsencrypt/live/toto.yojik.net/privkey.pem</p>
|
|
|
+</blockquote>
|
|
|
+<p>Bien entendu, modifiez la partie <strong>toto.yojik.net</strong> par le nom de votre serveur mail et pour lequel vous avez généré les certificats.
|
|
|
+Il y a 3 lignes à ajouter/modifier dans /etc/dovecot/conf.d/10-ssl.conf</p>
|
|
|
+<blockquote>
|
|
|
+<p>ssl = required
|
|
|
+ssl_cert = </etc/letsencrypt/live/toto.yojik.net/fullchain.pem
|
|
|
+ssl_key = </etc/letsencrypt/live/toto.yojik.net/privkey.pem</p>
|
|
|
+</blockquote>
|
|
|
+<p>Comme avant, personnalisez avec votre nom de serveur mail.
|
|
|
+Relancez vos serveurs avec les commandes suivantes:</p>
|
|
|
+<pre><code class="shell">root@aijan:/home/ericadmin# systemctl restart postfix
|
|
|
+root@aijan:/home/ericadmin# systemctl restart dovecot
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Bien vérifier dans les logs (/var/log/daemon.log) que tout s'est bien passé (pas d'erreur de frappe par exemple ...)</p>
|
|
|
+<h3 id="test">Test</h3>
|
|
|
+<p>Nous allons refaire les tests déjà réalisés précédemment pour vérifier que "rien n'est cassé" suite à la modification de nos certificats.</p>
|
|
|
+<pre><code class="shell">root@aijan:/home/ericadmin# telnet localhost 25
|
|
|
+Trying ::1...
|
|
|
+Connected to localhost.
|
|
|
+Escape character is '^]'.
|
|
|
+220 aijan.yojik.net ESMTP Postfix (Debian/GNU)
|
|
|
+ehlo aijan.yojik.net
|
|
|
+250-aijan.yojik.net
|
|
|
+250-PIPELINING
|
|
|
+250-SIZE 10240000
|
|
|
+250-VRFY
|
|
|
+250-ETRN
|
|
|
+250-STARTTLS
|
|
|
+250-AUTH PLAIN LOGIN
|
|
|
+250-ENHANCEDSTATUSCODES
|
|
|
+250-8BITMIME
|
|
|
+250-DSN
|
|
|
+250 SMTPUTF8
|
|
|
+AUTH PLAIN AHRlc3RtYWlsAHRlc3RtYWls
|
|
|
+235 2.7.0 Authentication successful
|
|
|
+mail from: testmail
|
|
|
+250 2.1.0 Ok
|
|
|
+rcpt to: ericounet26200@gmail.com
|
|
|
+250 2.1.5 Ok
|
|
|
+data
|
|
|
+354 End data with <CR><LF>.<CR><LF>
|
|
|
+subject: essai
|
|
|
+un essai
|
|
|
+.
|
|
|
+250 2.0.0 Ok: queued as 9EEF6D0002E
|
|
|
+quit
|
|
|
+502 5.5.2 Error: command not recognized
|
|
|
+quit
|
|
|
+221 2.0.0 Bye
|
|
|
+Connection closed by foreign host.
|
|
|
+root@aijan:/home/ericadmin#
|
|
|
+
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Ça fonctionne. L'authentification avec les nouveaux certificats est assurée.</p>
|
|
|
+<h3 id="test-de-la-connexion-sur-le-port-993-a-partir-dun-ordinateur-exterieur">Test de la connexion sur le port 993 à partir d'un ordinateur extérieur</h3>
|
|
|
+<pre><code>eric@aldebaran:~$ openssl s_client -connect yojik.net:993
|
|
|
+CONNECTED(00000003)
|
|
|
+depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
|
|
|
+verify return:1
|
|
|
+depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
|
|
|
+verify return:1
|
|
|
+depth=0 CN = atom.yojik.net
|
|
|
+verify return:1
|
|
|
+---
|
|
|
+Certificate chain
|
|
|
+ 0 s:/CN=atom.yojik.net
|
|
|
+ i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
|
|
|
+ 1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
|
|
|
+ i:/O=Digital Signature Trust Co./CN=DST Root CA X3
|
|
|
+---
|
|
|
+Server certificate
|
|
|
+-----BEGIN CERTIFICATE-----
|
|
|
+MIIFVTCCBD2gAwIBAgISA2ymxMSWOd9z4d5MhK1RarzkMA0GCSqGSIb3DQEBCwUA
|
|
|
+MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
|
|
|
+ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xODExMTExNTI2NDhaFw0x
|
|
|
+OTAyMDkxNTI2NDhaMBkxFzAVBgNVBAMTDmF0b20ueW9qaWsubmV0MIIBIjANBgkq
|
|
|
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr+SwsS/VwilSnazx4Y9Xj9OIzYPx2s5W
|
|
|
+kxocZT7BMdO0oKNKolbe6AJMGrNKf5TjQu9EN+yal6rNZUOrrR7dS2gKvRjyH2mW
|
|
|
+5JniCW/osYVkHglgjvNbihQP4IBY9brvvtIW9reKyA9adq5zHHRW2RNaBG18oXFa
|
|
|
+mQb+uFGiCkpyjGK7XYmPkVA7DM6TtciFBGeTmY15vF4aniPQtu1TuksEc+WDvWfR
|
|
|
+K9ebYXghqBJd1OigtgVhOpDiSAnxjtx9wcjHuic/9wU8iI2VdkOB0xoMxlRNjQSZ
|
|
|
+DWgRCiZr/LwtoX6bSWzJex1kW7Q/zQnvA1eaKqD6mCIp5uO7KiK5AQIDAQABo4IC
|
|
|
+ZDCCAmAwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF
|
|
|
+BQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQyxrlKdL9RV+v8Y7YwH4mV0iq4
|
|
|
+EDAfBgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv86jsoTBvBggrBgEFBQcBAQRj
|
|
|
+MGEwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmludC14My5sZXRzZW5jcnlwdC5v
|
|
|
+cmcwLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5sZXRzZW5jcnlwdC5v
|
|
|
+cmcvMBkGA1UdEQQSMBCCDmF0b20ueW9qaWsubmV0MEwGA1UdIARFMEMwCAYGZ4EM
|
|
|
+AQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0
|
|
|
+c2VuY3J5cHQub3JnMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcA4mlLribo6UAJ
|
|
|
+6IYbtjuD1D7n/nSI+6SPKJMBnd3x2/4AAAFnA5jZtQAABAMASDBGAiEAshqJHr2M
|
|
|
+l6n+9Dd31jkskn3lxh5iC7FTfPZoKxZGT6ECIQDDby9vNMmzh8eYysYr5UuTE4R9
|
|
|
+VOko3rzQZgj51O/nEQB2AGPy283oO8wszwtyhCdXazOkjWF3j711pjixx2hUS9iN
|
|
|
+AAABZwOY2bgAAAQDAEcwRQIhAPTO+Wry4Fl2+HddFMsWpfYJQ7dkXtW93N1+z77y
|
|
|
+ofgMAiB76ad1N7+AVOh4YvrRboK31F5cs3YJnKmKxINWkrI70TANBgkqhkiG9w0B
|
|
|
+AQsFAAOCAQEAJ1BYUTWpCIIYD0FKB9vuCEfYrg1NNHhYYr0jUKR49EPLO8DS1aRp
|
|
|
+KK1tr9EZti2lOYaEOKNo4dQkLLKgsF1kovHreosvXPF2oXRbN6UdVu+67fhIokD5
|
|
|
+FIS9pphaxIHEC4A9h7JK0LHJHMG9ySRDBbtz9Y0b7z5jGIxX0yzaqBcPJVG26SJm
|
|
|
+uyiys2bklC+N3mYAVYb/c3VWdCWzusHks+HCTx2y+YkqVkvCepdQYFoUKpk6ScSc
|
|
|
+Fz6r0DWBXGmhJLg0K+KxfXGUtTtwDjnBZCocX3FrQsQNrbYtvLyK2QhDv1Mr6V96
|
|
|
+P11a4LV3qq2eTfoIiNd9m2iqCJ7/pSWIjw==
|
|
|
+-----END CERTIFICATE-----
|
|
|
+subject=/CN=atom.yojik.net
|
|
|
+issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
|
|
|
+---
|
|
|
+No client certificate CA names sent
|
|
|
+Peer signing digest: SHA512
|
|
|
+Server Temp Key: ECDH, P-384, 384 bits
|
|
|
+---
|
|
|
+SSL handshake has read 3236 bytes and written 334 bytes
|
|
|
+Verification: OK
|
|
|
+---
|
|
|
+New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384
|
|
|
+Server public key is 2048 bit
|
|
|
+Secure Renegotiation IS supported
|
|
|
+Compression: NONE
|
|
|
+Expansion: NONE
|
|
|
+No ALPN negotiated
|
|
|
+SSL-Session:
|
|
|
+ Protocol : TLSv1.2
|
|
|
+ Cipher : ECDHE-RSA-AES256-GCM-SHA384
|
|
|
+ Session-ID: D488F9943CD771D5DF400C676729BDF315F5CBD01128E922D7DBCC0D80B467F3
|
|
|
+ Session-ID-ctx:
|
|
|
+ Master-Key: 45BF00E99AA29FB83E1395741E3A506800473105882554C46B50639665B600000E1F3048F051EF5E12D6C0804A0698D8
|
|
|
+ PSK identity: None
|
|
|
+ PSK identity hint: None
|
|
|
+ SRP username: None
|
|
|
+ TLS session ticket lifetime hint: 7200 (seconds)
|
|
|
+ TLS session ticket:
|
|
|
+ 0000 - 59 1e 77 bc e8 c1 0e f8-c9 f2 38 f8 f9 f0 e9 4f Y.w.......8....O
|
|
|
+ 0010 - 4b 91 2a 39 73 cc a6 85-f2 22 96 ae 4a a3 84 b8 K.*9s...."..J...
|
|
|
+ 0020 - e8 de 9b 34 74 1a d9 e7-88 f5 d1 bb 4c 2d 59 f2 ...4t.......L-Y.
|
|
|
+ 0030 - 0e 99 1e bd b7 82 ef 32-ab 0c 1a 33 c0 dd 31 6a .......2...3..1j
|
|
|
+ 0040 - 5b 38 fc c5 27 29 d7 a3-ae f0 a5 bb 66 a0 b4 eb [8..')......f...
|
|
|
+ 0050 - 7c 95 f2 16 cb 92 5c f3-7f c0 30 33 ec 77 f0 a8 |.....\...03.w..
|
|
|
+ 0060 - 8f 5e 9c f7 de c9 4f 95-1a 0e 09 27 7a 45 b0 db .^....O....'zE..
|
|
|
+ 0070 - 84 ba 72 37 f1 a2 f5 95-43 0c e2 eb a3 18 94 a8 ..r7....C.......
|
|
|
+ 0080 - b3 d4 d7 15 4c 81 08 a2-17 3f 7b 15 fe 81 d8 5c ....L....?{....\
|
|
|
+ 0090 - 74 60 ac 5e 2a 5a 22 07-6f ba 03 4f d5 46 5a 04 t`.^*Z".o..O.FZ.
|
|
|
+
|
|
|
+ Start Time: 1543235404
|
|
|
+ Timeout : 7200 (sec)
|
|
|
+ Verify return code: 0 (ok)
|
|
|
+ Extended master secret: yes
|
|
|
+---
|
|
|
+* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
|
|
|
+1 Login testmail testmail
|
|
|
+1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
|
|
|
+QUIT
|
|
|
+DONE
|
|
|
+eric@aldebaran:~$
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Le <strong>OK [CAPABILITY ...</strong> indique que la connexion s'est faite normalement; les caractéristiques du certificat sont affichées au-dessus. Le <strong>Logged: in</strong> indique que l'authentification a marché.</p>
|
|
|
+<p>Nous avons donc testé les ports 25, 143 et 993 avec succès.</p>
|
|
|
+<h2 id="configuration-dun-port-qui-naccepte-que-les-communications-chiffrees">Configuration d'un port qui n'accepte que les communications chiffrées.</h2>
|
|
|
+<p>Pour l'instant, postfix n'écoute que le port 25 (vous pouvez le vérifier avec la commande <strong>netstat -tlpn</strong>.
|
|
|
+Dans le fichier /etc/postfix/master.cf, seul la ligne suivante est active (décommentée):</p>
|
|
|
+<blockquote>
|
|
|
+<p>smtp inet n - y - - smtpd
|
|
|
+Nous allons mettre postfix en écoute du port 465:
|
|
|
+Dans le fichier /etc/postfix/master.cf, la ligne à décommenter est la suivante:</p>
|
|
|
+<h1 id="smtps-inet-n-smtpd">smtps inet n - - - - smtpd</h1>
|
|
|
+</blockquote>
|
|
|
+<p>pour obtenir:</p>
|
|
|
+<blockquote>
|
|
|
+<p>smtps inet n - - - - smtpd</p>
|
|
|
+</blockquote>
|
|
|
+<h3 id="test_1">Test</h3>
|
|
|
+<p>On relance postfix et on regarde les ports servis:</p>
|
|
|
+<pre><code class="shell">root@aijan:/home/ericadmin# service postfix restart
|
|
|
+root@aijan:/home/ericadmin# netstat -tlpn
|
|
|
+Connexions Internet actives (seulement serveurs)
|
|
|
+Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
|
|
|
+tcp 0 0 192.168.111.240:53 0.0.0.0:* LISTEN 552/named
|
|
|
+tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 552/named
|
|
|
+tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 580/sshd
|
|
|
+tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2159/master
|
|
|
+tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 552/named
|
|
|
+tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 649/apache2
|
|
|
+tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1792/dovecot
|
|
|
+tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 649/apache2
|
|
|
+tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 2159/master
|
|
|
+tcp6 0 0 :::53 :::* LISTEN 552/named
|
|
|
+tcp6 0 0 :::22 :::* LISTEN 580/sshd
|
|
|
+tcp6 0 0 :::25 :::* LISTEN 2159/master
|
|
|
+tcp6 0 0 ::1:953 :::* LISTEN 552/named
|
|
|
+tcp6 0 0 :::143 :::* LISTEN 1792/dovecot
|
|
|
+tcp6 0 0 :::465 :::* LISTEN 2159/master
|
|
|
+root@aijan:/home/ericadmin#
|
|
|
+
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Le port 465 est ouvert et servi par postfix.</p>
|
|
|
+<h3 id="test-de-connexion-sur-le-port-465">test de connexion sur le port 465</h3>
|
|
|
+<pre><code class="shell">root@aijan:/home/ericadmin# telnet localhost 465
|
|
|
+Trying ::1...
|
|
|
+Connected to localhost.
|
|
|
+Escape character is '^]'.
|
|
|
+220 aijan.yojik.net ESMTP Postfix (Debian/GNU)
|
|
|
+ehlo aijan.yojik.net
|
|
|
+250-aijan.yojik.net
|
|
|
+250-PIPELINING
|
|
|
+250-SIZE 10240000
|
|
|
+250-VRFY
|
|
|
+250-ETRN
|
|
|
+250-STARTTLS
|
|
|
+250-AUTH PLAIN LOGIN
|
|
|
+250-ENHANCEDSTATUSCODES
|
|
|
+250-8BITMIME
|
|
|
+250-DSN
|
|
|
+250 SMTPUTF8
|
|
|
+quit
|
|
|
+221 2.0.0 Bye
|
|
|
+Connection closed by foreign host.
|
|
|
+root@aijan:/home/ericadmin#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>La connexion se fait normalement.
|
|
|
+Nous allons maintenant bloquer les communications non-chiffrées; les paramètres à modifier sont dans /etc/postfix/master.conf (2 premiers paramètres de la ligne smtps à décommenter.)</p>
|
|
|
+<blockquote>
|
|
|
+<p>smtps inet n - - - - smtpd
|
|
|
+ -o syslog_name=postfix/smtps
|
|
|
+ -o smtpd_tls_wrappermode=yes</p>
|
|
|
+</blockquote>
|
|
|
+<h3 id="test_2">Test</h3>
|
|
|
+<ol>
|
|
|
+<li>Essai avec communication non-chifrée:</li>
|
|
|
+</ol>
|
|
|
+<pre><code class="shell">root@aijan:/home/ericadmin# telnet localhost 465
|
|
|
+Trying ::1...
|
|
|
+Connected to localhost.
|
|
|
+Escape character is '^]'.
|
|
|
+Connection closed by foreign host.
|
|
|
+root@aijan:/home/ericadmin#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>La communication est refusée.</p>
|
|
|
+<ol>
|
|
|
+<li>Essai avec communication chiffrée (nous utilisons <strong>openssl</strong> pour cela):</li>
|
|
|
+</ol>
|
|
|
+<pre><code class="shell">root@adara:/etc# openssl s_client -connect localhost:465 -quiet
|
|
|
+depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
|
|
|
+verify return:1
|
|
|
+depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
|
|
|
+verify return:1
|
|
|
+depth=0 CN = adara.yojik.eu
|
|
|
+verify return:1
|
|
|
+220 adara.yojik.eu ESMTP Postfix (Debian/GNU)
|
|
|
+ehlo me
|
|
|
+250-adara.yojik.eu
|
|
|
+250-PIPELINING
|
|
|
+250-SIZE 10240000
|
|
|
+250-VRFY
|
|
|
+250-ETRN
|
|
|
+250-AUTH PLAIN LOGIN
|
|
|
+250-ENHANCEDSTATUSCODES
|
|
|
+250-8BITMIME
|
|
|
+250-DSN
|
|
|
+250 SMTPUTF8
|
|
|
+quit
|
|
|
+221 2.0.0 Bye
|
|
|
+root@adara:/etc#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>La communication est acceptée et fonctionne. Nous voyons aussi notre certificat Letsencrypt vérifié.</p>
|
|
|
+<p>Il reste une modification à faire pour n'autoriser que les communications chiffrées:
|
|
|
+Dans /etc/postfix/main.cf ajouter ou modifier la ligne suivante:</p>
|
|
|
+<blockquote>
|
|
|
+<p>smtpd_tls_auth_only = yes</p>
|
|
|
+</blockquote>
|
|
|
+<p>Et rechargez Postfix.</p>
|
|
|
+<h3 id="test_3">Test</h3>
|
|
|
+<pre><code class="shell">root@aijan:/home/ericadmin# telnet localhost 25
|
|
|
+Trying ::1...
|
|
|
+Connected to localhost.
|
|
|
+Escape character is '^]'.
|
|
|
+220 aijan.yojik.net ESMTP Postfix (Debian/GNU)
|
|
|
+ehlo aijan.yojik.net
|
|
|
+250-aijan.yojik.net
|
|
|
+250-PIPELINING
|
|
|
+250-SIZE 10240000
|
|
|
+250-VRFY
|
|
|
+250-ETRN
|
|
|
+250-STARTTLS
|
|
|
+250-ENHANCEDSTATUSCODES
|
|
|
+250-8BITMIME
|
|
|
+250-DSN
|
|
|
+250 SMTPUTF8
|
|
|
+quit
|
|
|
+221 2.0.0 Bye
|
|
|
+Connection closed by foreign host.
|
|
|
+root@aijan:/home/ericadmin#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>On voit que la ligne "250-AUTH PLAIN LOGIN" est absente, ce qui confirme que Postfix a bien pris en compte notre dernière modification.</p>
|
|
|
+<h2 id="interdiction-de-communications-non-chiffrees-sur-le-port-465">Interdiction de communications non-chiffrées sur le port 465</h2>
|
|
|
+<p>Nous allons rajouter/modifier une "restriction" à la ligne gérant le port 465 dans /etc/postfix/master.cf</p>
|
|
|
+<blockquote>
|
|
|
+<p>smtps inet n - - - - smtpd
|
|
|
+ -o syslog_name=postfix/smtps
|
|
|
+ -o smtpd_tls_wrappermode=yes
|
|
|
+ -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject</p>
|
|
|
+</blockquote>
|
|
|
+<p>La dernière ligne est rajoutée, dé-commentée, modifiée (suivant le cas). On recharge postfix et on teste.</p>
|
|
|
+<h3 id="test_4">Test</h3>
|
|
|
+<pre><code class="shell">root@aijan:/etc/postfix# telnet localhost 465
|
|
|
+Trying ::1...
|
|
|
+Connected to localhost.
|
|
|
+Escape character is '^]'.
|
|
|
+quit
|
|
|
+Connection closed by foreign host.
|
|
|
+root@aijan:/etc/postfix#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Ça fonctionne.</p>
|
|
|
+<h2 id="ajout-de-la-gestion-du-port-587">Ajout de la gestion du port 587</h2>
|
|
|
+<p>Dans le fichier /etc/postfix/master.cf, dé-commentez les lignes suivantes et modifiez les comme indiqué. Ce sont les mêmes modifications que celles effectuées pour le port 465.</p>
|
|
|
+<pre><code class="shell">submission inet n - y - - smtpd
|
|
|
+ -o syslog_name=postfix/submission
|
|
|
+ -o smtpd_tls_security_level=encrypt
|
|
|
+ -o smtpd_sasl_auth_enable=yes
|
|
|
+
|
|
|
+Ainsi que
|
|
|
+
|
|
|
+ -o smtpd_recipient_restrictions=
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<h3 id="test_5">Test</h3>
|
|
|
+<pre><code class="shell">root@aijan:/etc/bind# netstat -tlnp
|
|
|
+Connexions Internet actives (seulement serveurs)
|
|
|
+Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
|
|
|
+tcp 0 0 192.168.111.240:53 0.0.0.0:* LISTEN 3410/named
|
|
|
+tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3410/named
|
|
|
+tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 580/sshd
|
|
|
+tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 4080/master
|
|
|
+tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3410/named
|
|
|
+tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 649/apache2
|
|
|
+tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 2668/dovecot
|
|
|
+tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 4080/master
|
|
|
+tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 2668/dovecot
|
|
|
+tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 649/apache2
|
|
|
+tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 4080/master
|
|
|
+tcp6 0 0 :::53 :::* LISTEN 3410/named
|
|
|
+tcp6 0 0 :::22 :::* LISTEN 580/sshd
|
|
|
+tcp6 0 0 :::25 :::* LISTEN 4080/master
|
|
|
+tcp6 0 0 ::1:953 :::* LISTEN 3410/named
|
|
|
+tcp6 0 0 :::993 :::* LISTEN 2668/dovecot
|
|
|
+tcp6 0 0 :::587 :::* LISTEN 4080/master
|
|
|
+tcp6 0 0 :::143 :::* LISTEN 2668/dovecot
|
|
|
+tcp6 0 0 :::465 :::* LISTEN 4080/master
|
|
|
+root@aijan:/etc/bind#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Le port 587 est géré.</p>
|
|
|
+<h2 id="ajout-de-la-gesion-du-port-993-imap-avec-ssltls">Ajout de la gesion du port 993 (imap avec SSL/TLS)</h2>
|
|
|
+<p>Nous allons modifier la configuration de dovecot pour la prise en charge de ce port.</p>
|
|
|
+<p>Il n'est pas encore "servi" comme nous l'avons vu avec la commande <strong>netstat -tlpn</strong> (vu auparavant.)</p>
|
|
|
+<p>Le fichier à modifier est: /etc/dovecot/conf.d/10-master.conf
|
|
|
+La partie du fichier à modifier est la suivante:</p>
|
|
|
+<blockquote>
|
|
|
+<p>service imap-login {
|
|
|
+ inet_listener imap {
|
|
|
+ #port = 143
|
|
|
+ }
|
|
|
+ inet_listener imaps {
|
|
|
+ #port = 993
|
|
|
+ #ssl = yes
|
|
|
+ }</p>
|
|
|
+</blockquote>
|
|
|
+<p>pour donner ceci:</p>
|
|
|
+<blockquote>
|
|
|
+<p>service imap-login {
|
|
|
+ inet_listener imap {
|
|
|
+ port = 143
|
|
|
+ }
|
|
|
+ inet_listener imaps {
|
|
|
+ port = 993
|
|
|
+ ssl = yes
|
|
|
+ }</p>
|
|
|
+</blockquote>
|
|
|
+<p>Dans le fichier /etc/dovecot/conf.d/10-ssl.conf:</p>
|
|
|
+<blockquote>
|
|
|
+<p>ssl = yes
|
|
|
+ssl_protocols = !SSLv3</p>
|
|
|
+</blockquote>
|
|
|
+<h3 id="test_6">Test</h3>
|
|
|
+<pre><code class="shell">root@aijan:/etc/dovecot# netstat -tlpn
|
|
|
+Connexions Internet actives (seulement serveurs)
|
|
|
+Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name
|
|
|
+tcp 0 0 192.168.111.240:53 0.0.0.0:* LISTEN 552/named
|
|
|
+tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 552/named
|
|
|
+tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 580/sshd
|
|
|
+tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2376/master
|
|
|
+tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 552/named
|
|
|
+tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 649/apache2
|
|
|
+tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 2668/dovecot
|
|
|
+tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 2668/dovecot
|
|
|
+tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 649/apache2
|
|
|
+tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 2376/master
|
|
|
+tcp6 0 0 :::53 :::* LISTEN 552/named
|
|
|
+tcp6 0 0 :::22 :::* LISTEN 580/sshd
|
|
|
+tcp6 0 0 :::25 :::* LISTEN 2376/master
|
|
|
+tcp6 0 0 ::1:953 :::* LISTEN 552/named
|
|
|
+tcp6 0 0 :::993 :::* LISTEN 2668/dovecot
|
|
|
+tcp6 0 0 :::143 :::* LISTEN 2668/dovecot
|
|
|
+tcp6 0 0 :::465 :::* LISTEN 2376/master
|
|
|
+root@aijan:/etc/dovecot#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Le port 993 est actif.</p>
|
|
|
+<h2 id="mise-en-route">Mise en route</h2>
|
|
|
+<p>Pour l'instant, notre Firewall n'autorise aucune conenxion sur les port 143, 993, 465, 587. Nous allons ouvrir les ports. Avant cela, il nous faut supprimer l'utilisateur <strong>testmail</strong> ...</p>
|
|
|
+<blockquote>
|
|
|
+<p>userdel testmail</p>
|
|
|
+</blockquote>
|
|
|
+<p>Pensez à supprimer le répertoire home de cet utlisateur:</p>
|
|
|
+<blockquote>
|
|
|
+<p>rm -Rf /home/testmail</p>
|
|
|
+</blockquote>
|
|
|
+<p>Ceci fait, ouvrons nos ports. Voici les lignes à ajouter à notre programme firewall.sh. Il suffira de le lancer et de sauver la configuration (comme déjà vu précédemment)</p>
|
|
|
+<pre><code class="shell"> #mail!!
|
|
|
+
|
|
|
+ # Mail SMTP:25
|
|
|
+ $IPT -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
|
|
|
+ $IPT -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
|
|
|
+
|
|
|
+ $IP6T -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
|
|
|
+ $IP6T -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
|
|
|
+
|
|
|
+ # Mail SMTP:587
|
|
|
+ $IPT -t filter -A INPUT -p tcp --dport 587 -j ACCEPT
|
|
|
+ $IPT -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
|
|
|
+
|
|
|
+ $IP6T -t filter -A INPUT -p tcp --dport 597 -j ACCEPT
|
|
|
+ $IP6T -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT
|
|
|
+
|
|
|
+ # Mail IMAP:143
|
|
|
+ $IPT -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
|
|
|
+ $IPT -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
|
|
|
+
|
|
|
+ $IP6T -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
|
|
|
+ $IP6T -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT
|
|
|
+
|
|
|
+ # Mail IMAPS:993
|
|
|
+ $IPT -t filter -A INPUT -p tcp --dport 993 -j ACCEPT
|
|
|
+ $IPT -t filter -A OUTPUT -p tcp --dport 993 -j ACCEPT
|
|
|
+
|
|
|
+ $IP6T -t filter -A INPUT -p tcp --dport 993 -j ACCEPT
|
|
|
+ $IP6T -t filter -A OUTPUT -p tcp --dport 993 -j ACCEPT
|
|
|
+
|
|
|
+ # Mail 465
|
|
|
+ $IPT -t filter -A INPUT -p tcp --dport 465 -j ACCEPT
|
|
|
+ $IPT -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
|
|
|
+
|
|
|
+ $IP6T -t filter -A INPUT -p tcp --dport 465 -j ACCEPT
|
|
|
+ $IP6T -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<h3 id="test_7">Test</h3>
|
|
|
+<pre><code class="shell">root@aijan:/home/ericadmin/bin# ./firewall.sh restart
|
|
|
+firewall stopped [OK]
|
|
|
+firewall started [OK]
|
|
|
+root@aijan:/home/ericadmin/bin# iptables -L
|
|
|
+Chain INPUT (policy DROP)
|
|
|
+target prot opt source destination
|
|
|
+ACCEPT all -- anywhere anywhere
|
|
|
+ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:domain
|
|
|
+ACCEPT udp -- anywhere anywhere udp dpt:domain
|
|
|
+ACCEPT tcp -- 192.168.111.150 anywhere
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:http
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:https
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:submission
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:imap2
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:imaps
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:urd
|
|
|
+
|
|
|
+Chain FORWARD (policy DROP)
|
|
|
+target prot opt source destination
|
|
|
+
|
|
|
+Chain OUTPUT (policy ACCEPT)
|
|
|
+target prot opt source destination
|
|
|
+ACCEPT all -- anywhere anywhere
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
|
|
|
+ACCEPT udp -- anywhere anywhere udp dpt:ntp
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:http
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:https
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:submission
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:imap2
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:imaps
|
|
|
+ACCEPT tcp -- anywhere anywhere tcp dpt:urd
|
|
|
+root@aijan:/home/ericadmin/bin#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Les ports sont bien ouverts.
|
|
|
+Et on sauvegarde:</p>
|
|
|
+<blockquote>
|
|
|
+<p>service netfilter-persistent save</p>
|
|
|
+</blockquote>
|
|
|
+<pre><code class="shell">root@aijan:/home/ericadmin/bin# service netfilter-persistent save
|
|
|
+[....] Saving netfilter rules...run-parts: executing /usr/share/netfilter-persistent/plugins.d/15-ip4tables save
|
|
|
+run-parts: executing /usr/share/netfilter-persistent/plugins.d/25-ip6tables save
|
|
|
+done.
|
|
|
+root@aijan:/home/ericadmin/bin#
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Les règles IPV4 et IPV6 sont sauvegardées.</p>
|
|
|
+<h2 id="mise-en-place-du-fichier-auto-configuration-mozilla">Mise en place du fichier "auto-configuration" Mozilla</h2>
|
|
|
+<p>A voir ....</p>
|
|
|
+<h2 id="test-en-situation">Test en situation ...</h2>
|
|
|
+<h3 id="lecture-des-messages">Lecture des messages</h3>
|
|
|
+<p>A partir de ma machine de bureau, test de connexion en IMAP, liste des messages, et lecture du contenu (port 993):</p>
|
|
|
+<pre><code class="shell">eric@aldebaran:~$ openssl s_client -connect atom.yojik.net:993 -quiet
|
|
|
+depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
|
|
|
+verify return:1
|
|
|
+depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
|
|
|
+verify return:1
|
|
|
+depth=0 CN = aijan.yojik.net
|
|
|
+verify return:1
|
|
|
+* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
|
|
|
+a login ericadmin eBnIDQ+FZZI=
|
|
|
+a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
|
|
|
+b select inbox
|
|
|
+* FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk)
|
|
|
+* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk \*)] Flags permitted.
|
|
|
+* 3 EXISTS
|
|
|
+* 0 RECENT
|
|
|
+* OK [UIDVALIDITY 1527410684] UIDs valid
|
|
|
+* OK [UIDNEXT 4] Predicted next UID
|
|
|
+b OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
|
|
|
+c FETCH 1:* FLAGS
|
|
|
+* 1 FETCH (FLAGS (\Seen NonJunk))
|
|
|
+* 2 FETCH (FLAGS (\Seen NonJunk))
|
|
|
+* 3 FETCH (FLAGS (\Seen))
|
|
|
+c OK Fetch completed (0.001 + 0.000 secs).
|
|
|
+d Fetch BODY[TEXT]
|
|
|
+d BAD Error in IMAP command FETCH: Invalid arguments (0.000 + 0.000 secs).
|
|
|
+d fetch body
|
|
|
+d BAD Error in IMAP command FETCH: Invalid arguments (0.000 + 0.000 secs).
|
|
|
+d FETCH 1 body
|
|
|
+* 1 FETCH (BODY ("text" "plain" ("charset" "us-ascii") NIL NIL "7bit" 10 2))
|
|
|
+d OK Fetch completed (0.002 + 0.000 + 0.001 secs).
|
|
|
+e fetch 2 body
|
|
|
+* 2 FETCH (BODY ("text" "plain" ("charset" "us-ascii") NIL NIL "7bit" 3 1))
|
|
|
+e OK Fetch completed (0.001 + 0.000 secs).
|
|
|
+f fetch 2 body[]
|
|
|
+* 2 FETCH (BODY[] {466}
|
|
|
+Return-Path: <ericadmin@aijan.yojik.net>
|
|
|
+X-Original-To: root@localhost
|
|
|
+Delivered-To: root@localhost
|
|
|
+Received: by aijan.yojik.net (Postfix, from userid 1000)
|
|
|
+ id 6D42CD00904; Mon, 21 May 2018 12:11:41 +0200 (CEST)
|
|
|
+To: <root@localhost>
|
|
|
+Subject: essai d'envoi à root
|
|
|
+X-Mailer: mail (GNU Mailutils 3.1.1)
|
|
|
+Message-Id: <20180521101141.6D42CD00904@aijan.yojik.net>
|
|
|
+Date: Mon, 21 May 2018 12:11:41 +0200 (CEST)
|
|
|
+From: ericadmin@aijan.yojik.net (Eric Streit)
|
|
|
+
|
|
|
+.
|
|
|
+)
|
|
|
+f OK Fetch completed (0.001 + 0.000 secs).
|
|
|
+g fetch 3 body[]
|
|
|
+* 3 FETCH (BODY[] {735}
|
|
|
+Return-Path: <eric@aldebaran.yojik.net>
|
|
|
+X-Original-To: ericadmin@aijan.yojik.net
|
|
|
+Delivered-To: ericadmin@aijan.yojik.net
|
|
|
+Received: from aldebaran.yojik.net (unknown [IPv6:2a01:e0a:54:c220:6423:417b:6ef:ee21])
|
|
|
+ by aijan.yojik.net (Postfix) with ESMTP id EC11BD00903
|
|
|
+ for <ericadmin@aijan.yojik.net>; Mon, 21 May 2018 12:12:56 +0200 (CEST)
|
|
|
+Received: by aldebaran.yojik.net (Postfix, from userid 1000)
|
|
|
+ id 8B42920620A; Mon, 21 May 2018 12:12:56 +0200 (CEST)
|
|
|
+To: <ericadmin@aijan.yojik.net>
|
|
|
+Subject: Re-essai
|
|
|
+X-Mailer: mail (GNU Mailutils 3.1.1)
|
|
|
+Message-Id: <20180521101256.8B42920620A@aldebaran.yojik.net>
|
|
|
+Date: Mon, 21 May 2018 12:12:56 +0200 (CEST)
|
|
|
+From: eric@aldebaran.yojik.net (Eric Streit)
|
|
|
+
|
|
|
+re-essai de aldebaran
|
|
|
+.
|
|
|
+)
|
|
|
+g OK Fetch completed (0.001 + 0.000 secs).
|
|
|
+h logout
|
|
|
+* BYE Logging out
|
|
|
+h OK Logout completed (0.000 + 0.000 secs).
|
|
|
+eric@aldebaran:~$
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>A partir de ma machine de bureau, test de connexion en IMAP, liste des messages, et lecture du contenu (port 143):</p>
|
|
|
+<pre><code>eric@aldebaran:~$ telnet aijan.yojik.net 143
|
|
|
+Trying 192.168.111.240...
|
|
|
+Connected to aijan.yojik.net.
|
|
|
+Escape character is '^]'.
|
|
|
+* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
|
|
|
+ehlo aldebaran.yojik.eu
|
|
|
+ehlo BAD Error in IMAP command received by server.
|
|
|
+a login ericadmin eBnIDQ+FZZI=
|
|
|
+a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
|
|
|
+b select inbox
|
|
|
+* FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk)
|
|
|
+* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk \*)] Flags permitted.
|
|
|
+* 3 EXISTS
|
|
|
+* 0 RECENT
|
|
|
+* OK [UIDVALIDITY 1527410684] UIDs valid
|
|
|
+* OK [UIDNEXT 4] Predicted next UID
|
|
|
+b OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
|
|
|
+c logout
|
|
|
+* BYE Logging out
|
|
|
+c OK Logout completed (0.000 + 0.000 secs).
|
|
|
+Connection closed by foreign host.
|
|
|
+eric@aldebaran:~$
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>La récupération des messages s'est bien passée.</p>
|
|
|
+<h3 id="envoi-de-messages">Envoi de messages</h3>
|
|
|
+<p>Image de la configuration à faire sur <strong>thunderbird</strong>:</p>
|
|
|
+<p>L'envoi de messages à partir de Thunderbird fonctionne. Il faut bien configurer le port smtp à 465 ...</p>
|
|
|
+<p>Image de la configuration à faire.</p>
|
|
|
+<p>L'envoi sur mon serveur personnel a échoué: l'adresse IPV4 fournie par FREE était sur une liste de blocage (anti-spams). J'ai demandé à être enlevé de cette liste, ce qui va prendre 48H environ.</p>
|
|
|
+<p>Ré-essai ensuite ...</p>
|
|
|
+<ol>
|
|
|
+<li>Envoi d'un message sur le compte du serveur à partir de la machine de bureau (thunderbird): ça marche.</li>
|
|
|
+<li>Réception des messages sur la machine de bureau (thunderbird): ça marche.</li>
|
|
|
+<li>Envoi d'un message à partir du compte du serveur (thunderbird): ça marche.</li>
|
|
|
+</ol>
|
|
|
+<h2 id="installation-dun-analyseur-des-logs-mail">Installation d'un analyseur des logs mail</h2>
|
|
|
+<h3 id="installation">Installation</h3>
|
|
|
+<pre><code>apt-get install pflogsumm
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<h3 id="utilisation">Utilisation</h3>
|
|
|
+<pre><code>pflogsumm -d today /var/log/mail.log
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+<p>Vous obtiendrez une analyse approfondie des logs de la partie mail.</p>
|
|
|
+<p>Bien: la configuration est quasi terminée: il nous reste à ajouter SPF, DKIM, Dane et DNSSEC. et les comptes virtuels ...</p>
|
|
|
+<p>A faire:</p>
|
|
|
+<p>mettre le fichier mozilla de configuration automatique
|
|
|
+tester à distance</p>
|
|
|
+<p>Ajouter des utilisateurs virtuels (dbm, sqlite, mariadb)</p>
|
|
|
+<p>Analyse des logs:</p>
|
|
|
+<p>Just install it by(for Debian/Ubuntu, for other Linux distr. you need other installation command)</p>
|
|
|
+<pre><code>apt-get install pflogsumm
|
|
|
+</code></pre>
|
|
|
+<p>Get today's summary by:</p>
|
|
|
+<pre><code>pflogsumm -d today /var/log/mail.log
|
|
|
+</code></pre>
|
|
|
+<p>Résultat:</p>
|
|
|
+<hr />
|
|
|
+<p>root@adara:/home/ericadmin# pflogsumm -d today /var/log/mail.log
|
|
|
+Postfix log summaries for Jul 1</p>
|
|
|
+<p>Grand Totals</p>
|
|
|
+<p>messages</p>
|
|
|
+<pre><code> 24 received
|
|
|
+ 23 delivered
|
|
|
+ 0 forwarded
|
|
|
+ 0 deferred
|
|
|
+ 0 bounced
|
|
|
+ 29 rejected (55%)
|
|
|
+ 0 reject warnings
|
|
|
+ 0 held
|
|
|
+ 0 discarded (0%)
|
|
|
+</code></pre>
|
|
|
+<p>2248k bytes received
|
|
|
+ 2248k bytes delivered
|
|
|
+ 17 senders
|
|
|
+ 13 sending hosts/domains
|
|
|
+ 3 recipients
|
|
|
+ 2 recipient hosts/domains</p>
|
|
|
+<p>Per-Hour Traffic Summary</p>
|
|
|
+<pre><code>time received delivered deferred bounced rejected
|
|
|
+--
|
|
|
+0000-0100 0 0 0 0 0
|
|
|
+0100-0200 0 0 0 0 0
|
|
|
+0200-0300 0 0 0 0 0
|
|
|
+0300-0400 0 0 0 0 3
|
|
|
+0400-0500 0 0 0 0 7
|
|
|
+0500-0600 0 0 0 0 1
|
|
|
+0600-0700 1 1 0 0 1
|
|
|
+0700-0800 2 2 0 0 1
|
|
|
+0800-0900 4 4 0 0 7
|
|
|
+0900-1000 4 4 0 0 2
|
|
|
+1000-1100 10 9 0 0 2
|
|
|
+1100-1200 2 2 0 0 1
|
|
|
+1200-1300 0 0 0 0 2
|
|
|
+1300-1400 0 0 0 0 0
|
|
|
+1400-1500 0 0 0 0 0
|
|
|
+1500-1600 1 1 0 0 2
|
|
|
+1600-1700 0 0 0 0 0
|
|
|
+1700-1800 0 0 0 0 0
|
|
|
+1800-1900 0 0 0 0 0
|
|
|
+1900-2000 0 0 0 0 0
|
|
|
+2000-2100 0 0 0 0 0
|
|
|
+2100-2200 0 0 0 0 0
|
|
|
+2200-2300 0 0 0 0 0
|
|
|
+2300-2400 0 0 0 0 0
|
|
|
+</code></pre>
|
|
|
+<h2 id="hostdomain-summary-message-delivery">Host/Domain Summary: Message Delivery</h2>
|
|
|
+<p>sent cnt bytes defers avg dly max dly host/domain</p>
|
|
|
+<hr />
|
|
|
+<pre><code> 21 2241k 0 4,6 s 47,0 s yojik.eu
|
|
|
+ 2 7008 0 0,8 s 1,0 s picapo.net
|
|
|
+</code></pre>
|
|
|
+<p>Host/Domain Summary: Messages Received </p>
|
|
|
+<p>msg cnt bytes host/domain</p>
|
|
|
+<hr />
|
|
|
+<pre><code> 7 1918k yojik.eu
|
|
|
+ 4 12773 lists.oasis-open.org
|
|
|
+ 2 29818 nongnu.org
|
|
|
+ 1 61932 sg.booking.com
|
|
|
+ 1 53567 bounces.amazon.fr
|
|
|
+ 1 46492 bounce.newsletter.delamaison.fr
|
|
|
+ 1 36499 mail.bitwarden.com
|
|
|
+ 1 36232 infos.materiel.net
|
|
|
+ 1 25976 newsdesmarq.ccemails.com
|
|
|
+ 1 20320 tradepubs.nl00.net
|
|
|
+ 1 6892 5v7mfyjapqzjtpqc.fncpq.3-xsveaq.na6.bnc.salesforce.com
|
|
|
+ 1 4987 hussein.org
|
|
|
+ 1 2021 inhrr.gob.ve
|
|
|
+</code></pre>
|
|
|
+<p>Senders by message count</p>
|
|
|
+<pre><code> 6 goulya@yojik.eu
|
|
|
+ 2 m17n-list-bounces+eric=yojik.eu@nongnu.org
|
|
|
+ 1 bounces+3318447-412f-eric=yojik.eu@mail.bitwarden.com
|
|
|
+ 1 bounces+4713178-1151-eric=yojik.eu@sg.booking.com
|
|
|
+ 1 email@newsdesmarq.ccemails.com
|
|
|
+ 1 do_not_reply=netgear.com__413ah3rz7vwihm9c.ly8u7ddmyngfvref@5v7mfyjapqzjtpqc.fncpq.3-xsveaq.na6.bnc.salesforce.com
|
|
|
+ 1 eric@yojik.eu
|
|
|
+ 1 20180701072218f38c0af2e0e840cf938ae502e570p0eu@bounces.amazon.fr
|
|
|
+ 1 bounce-419_HTML-28507929-182305-7304800-452@bounce.newsletter.delamaison.fr
|
|
|
+ 1 p-m8bl38j2p7vg88u3n3hrzdpp4rcbq9n7x8cvc2fn23u5pwpnseghvzq-BHP30@infos.materiel.net
|
|
|
+ 1 Offers@tradepubs.nl00.net
|
|
|
+ 1 info@hussein.org
|
|
|
+ 1 docbook-apps-return-14782-eric=yojik.eu@lists.oasis-open.org
|
|
|
+ 1 docbook-apps-return-14783-eric=yojik.eu@lists.oasis-open.org
|
|
|
+ 1 docbook-apps-return-14784-eric=yojik.eu@lists.oasis-open.org
|
|
|
+ 1 docbook-return-3958-eric=yojik.eu@lists.oasis-open.org
|
|
|
+ 1 maria.rueda@inhrr.gob.ve
|
|
|
+</code></pre>
|
|
|
+<p>Recipients by message count</p>
|
|
|
+<pre><code> 15 eric@yojik.eu
|
|
|
+ 6 goulya@yojik.eu
|
|
|
+ 2 nico@picapo.net
|
|
|
+</code></pre>
|
|
|
+<h2 id="senders-by-message-size">Senders by message size</h2>
|
|
|
+<p>1917k goulya@yojik.eu
|
|
|
+ 61932 bounces+4713178-1151-eric=yojik.eu@sg.booking.com
|
|
|
+ 53567 20180701072218f38c0af2e0e840cf938ae502e570p0eu@bounces.amazon.fr
|
|
|
+ 46492 bounce-419_HTML-28507929-182305-7304800-452@bounce.newsletter.delamaison.fr
|
|
|
+ 36499 bounces+3318447-412f-eric=yojik.eu@mail.bitwarden.com
|
|
|
+ 36232 p-m8bl38j2p7vg88u3n3hrzdpp4rcbq9n7x8cvc2fn23u5pwpnseghvzq-BHP30@infos.materiel.net
|
|
|
+ 29818 m17n-list-bounces+eric=yojik.eu@nongnu.org
|
|
|
+ 25976 email@newsdesmarq.ccemails.com
|
|
|
+ 20320 Offers@tradepubs.nl00.net
|
|
|
+ 6892 do_not_reply=netgear.com__413ah3rz7vwihm9c.ly8u7ddmyngfvref@5v7mfyjapqzjtpqc.fncpq.3-xsveaq.na6.bnc.salesforce.com
|
|
|
+ 4987 info@hussein.org
|
|
|
+ 4275 docbook-apps-return-14782-eric=yojik.eu@lists.oasis-open.org
|
|
|
+ 3589 docbook-return-3958-eric=yojik.eu@lists.oasis-open.org
|
|
|
+ 2564 docbook-apps-return-14784-eric=yojik.eu@lists.oasis-open.org
|
|
|
+ 2345 docbook-apps-return-14783-eric=yojik.eu@lists.oasis-open.org
|
|
|
+ 2021 maria.rueda@inhrr.gob.ve
|
|
|
+ 1124 eric@yojik.eu</p>
|
|
|
+<h2 id="recipients-by-message-size">Recipients by message size</h2>
|
|
|
+<p>1916k goulya@yojik.eu
|
|
|
+ 333462 eric@yojik.eu
|
|
|
+ 7008 nico@picapo.net</p>
|
|
|
+<p>message deferral detail: none</p>
|
|
|
+<p>message bounce detail (by relay): none</p>
|
|
|
+<p>message reject detail</p>
|
|
|
+<p>RCPT
|
|
|
+ blocked using zen.spamhaus.org (total: 2)
|
|
|
+ 1 amazonaws.com
|
|
|
+ 1 b941c024.business.dg-w.de
|
|
|
+ cannot find your hostname (total: 25)
|
|
|
+ 9 183.159.95.6
|
|
|
+ 3 210.239.8.55
|
|
|
+ 3 114.228.155.122
|
|
|
+ 2 2406:fc00:1:7:214:22ff:fe08:eb34
|
|
|
+ 2 117.63.127.41
|
|
|
+ 2 159.89.236.50
|
|
|
+ 1 140.127.1.29
|
|
|
+ 1 37.49.227.169
|
|
|
+ 1 80.211.61.89
|
|
|
+ 1 222.95.187.160
|
|
|
+ Client host rejected: Access denied (total: 2)
|
|
|
+ 2 80.211.61.89</p>
|
|
|
+<p>message reject warning detail: none</p>
|
|
|
+<p>message hold detail: none</p>
|
|
|
+<p>message discard detail: none</p>
|
|
|
+<p>smtp delivery failures: none</p>
|
|
|
+<h2 id="warnings">Warnings</h2>
|
|
|
+<p>smtpd (total: 16)
|
|
|
+ 6 hostname host89-61-211-80.serverdedicati.aruba.it does not reso...
|
|
|
+ 3 hostname host-210.239.8.55.n-cube.ne.jp does not resolve to add...
|
|
|
+ 2 mm-115-58-214-37.mogilev.dynamic.pppoe.byfly.by[37.214.58.115]:...
|
|
|
+ 2 hostname 41.127.63.117.broad.cz.js.dynamic.163data.com.cn does ...
|
|
|
+ 1 hostname hn.kd.ny.adsl does not resolve to address 115.57.125.2...
|
|
|
+ 1 hostname mails.npust.edu.tw does not resolve to address 140.127...
|
|
|
+ 1 hostname 82-64-48-5.subs.proxad.net does not resolve to address...</p>
|
|
|
+<p>Fatal Errors: none</p>
|
|
|
+<p>Panics: none</p>
|
|
|
+<p>Master daemon messages: none
|
|
|
+root@adara:/home/ericadmin# </p>
|
|
|
+<hr />
|
|
|
+<p>Installation de rainloop (webmail)</p>
|
|
|
+<p>Télécharger la version communautaire sur le site, et la décompresser dans votre répertoire web (/home/www/ pour moi)</p>
|
|
|
+<p>Installation des dépendances: librairies et programmes</p>
|
|
|
+<p>root@adara:/home/ericadmin/bin# apt install unzip
|
|
|
+Lecture des listes de paquets... Fait
|
|
|
+Construction de l'arbre des dépendances <br />
|
|
|
+Lecture des informations d'état... Fait
|
|
|
+Paquets suggérés :
|
|
|
+ zip
|
|
|
+Les NOUVEAUX paquets suivants seront installés :
|
|
|
+ unzip
|
|
|
+0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
|
|
|
+Il est nécessaire de prendre 170 ko dans les archives.
|
|
|
+Après cette opération, 547 ko d'espace disque supplémentaires seront utilisés.
|
|
|
+Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 unzip amd64 6.0-21 [170 kB]
|
|
|
+170 ko réceptionnés en 0s (5 565 ko/s)
|
|
|
+Sélection du paquet unzip précédemment désélectionné.
|
|
|
+(Lecture de la base de données... 27662 fichiers et répertoires déjà installés.)
|
|
|
+Préparation du dépaquetage de .../unzip_6.0-21_amd64.deb ...
|
|
|
+Dépaquetage de unzip (6.0-21) ...
|
|
|
+Traitement des actions différées (« triggers ») pour mime-support (3.60) ...
|
|
|
+Paramétrage de unzip (6.0-21) ...
|
|
|
+Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
|
|
|
+root@adara:/home/ericadmin/bin# mc</p>
|
|
|
+<p>root@adara:/home/ericadmin/bin#
|
|
|
+root@adara:/etc# mc</p>
|
|
|
+<p>root@adara:/home/www# mkdir rainloop</p>
|
|
|
+<p>root@adara:/etc# apt search php | grep curl</p>
|
|
|
+<p>WARNING: apt does not have a stable CLI interface. Use with caution in scripts.</p>
|
|
|
+<p>php-curl/stable 1:7.0+49 all
|
|
|
+php7.0-curl/stable,stable 7.0.27-0+deb9u1 amd64
|
|
|
+root@adara:/etc# apt install php7.0-curl
|
|
|
+Lecture des listes de paquets... Fait
|
|
|
+Construction de l'arbre des dépendances <br />
|
|
|
+Lecture des informations d'état... Fait
|
|
|
+The following additional packages will be installed:
|
|
|
+ libcurl3 php-common php7.0-common psmisc
|
|
|
+Les NOUVEAUX paquets suivants seront installés :
|
|
|
+ libcurl3 php-common php7.0-common php7.0-curl psmisc
|
|
|
+0 mis à jour, 5 nouvellement installés, 0 à enlever et 0 non mis à jour.
|
|
|
+Il est nécessaire de prendre 1 333 ko dans les archives.
|
|
|
+Après cette opération, 6 149 ko d'espace disque supplémentaires seront utilisés.
|
|
|
+Souhaitez-vous continuer ? [O/n] o
|
|
|
+Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 psmisc amd64 22.21-2.1+b2 [123 kB]
|
|
|
+Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-common all 1:49 [14,1 kB]
|
|
|
+Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-common amd64 7.0.27-0+deb9u1 [877 kB]
|
|
|
+Réception de:4 http://security.debian.org/debian-security stretch/updates/main amd64 libcurl3 amd64 7.52.1-5+deb9u6 [291 kB]
|
|
|
+Réception de:5 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-curl amd64 7.0.27-0+deb9u1 [27,4 kB]
|
|
|
+1 333 ko réceptionnés en 0s (3 062 ko/s) <br />
|
|
|
+Sélection du paquet libcurl3:amd64 précédemment désélectionné.
|
|
|
+(Lecture de la base de données... 27680 fichiers et répertoires déjà installés.)
|
|
|
+Préparation du dépaquetage de .../libcurl3_7.52.1-5+deb9u6_amd64.deb ...
|
|
|
+Dépaquetage de libcurl3:amd64 (7.52.1-5+deb9u6) ...
|
|
|
+Sélection du paquet psmisc précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../psmisc_22.21-2.1+b2_amd64.deb ...
|
|
|
+Dépaquetage de psmisc (22.21-2.1+b2) ...
|
|
|
+Sélection du paquet php-common précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../php-common_1%3a49_all.deb ...
|
|
|
+Dépaquetage de php-common (1:49) ...
|
|
|
+Sélection du paquet php7.0-common précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../php7.0-common_7.0.27-0+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de php7.0-common (7.0.27-0+deb9u1) ...
|
|
|
+Sélection du paquet php7.0-curl précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../php7.0-curl_7.0.27-0+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de php7.0-curl (7.0.27-0+deb9u1) ...
|
|
|
+Paramétrage de psmisc (22.21-2.1+b2) ...
|
|
|
+Paramétrage de libcurl3:amd64 (7.52.1-5+deb9u6) ...
|
|
|
+Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
|
|
|
+Paramétrage de php-common (1:49) ...
|
|
|
+Created symlink /etc/systemd/system/timers.target.wants/phpsessionclean.timer → /lib/systemd/system/phpsessionclean.timer.
|
|
|
+Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
|
|
|
+Paramétrage de php7.0-common (7.0.27-0+deb9u1) ...</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/calendar.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/ctype.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/exif.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/fileinfo.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/ftp.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/gettext.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/iconv.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/pdo.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/phar.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/posix.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/shmop.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/sockets.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/sysvmsg.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/sysvsem.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/sysvshm.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/tokenizer.ini with new version
|
|
|
+Paramétrage de php7.0-curl (7.0.27-0+deb9u1) ...</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/curl.ini with new version
|
|
|
+root@adara:/etc# apt search php | grep iconv</p>
|
|
|
+<p>WARNING: apt does not have a stable CLI interface. Use with caution in scripts.</p>
|
|
|
+<p>libhtml-wikiconverter-phpwiki-perl/stable 0.51-2 all
|
|
|
+php-symfony-polyfill-iconv/stable 1.2.0-1 all
|
|
|
+root@adara:/etc# apt install php-symfony-polyfill-iconv
|
|
|
+Lecture des listes de paquets... Fait
|
|
|
+Construction de l'arbre des dépendances <br />
|
|
|
+Lecture des informations d'état... Fait
|
|
|
+Les NOUVEAUX paquets suivants seront installés :
|
|
|
+ php-symfony-polyfill-iconv
|
|
|
+0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
|
|
|
+Il est nécessaire de prendre 124 ko dans les archives.
|
|
|
+Après cette opération, 1 585 ko d'espace disque supplémentaires seront utilisés.
|
|
|
+Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-symfony-polyfill-iconv all 1.2.0-1 [124 kB]
|
|
|
+124 ko réceptionnés en 0s (817 ko/s) <br />
|
|
|
+Sélection du paquet php-symfony-polyfill-iconv précédemment désélectionné.
|
|
|
+(Lecture de la base de données... 27826 fichiers et répertoires déjà installés.)
|
|
|
+Préparation du dépaquetage de .../php-symfony-polyfill-iconv_1.2.0-1_all.deb ...
|
|
|
+Dépaquetage de php-symfony-polyfill-iconv (1.2.0-1) ...
|
|
|
+Paramétrage de php-symfony-polyfill-iconv (1.2.0-1) ...
|
|
|
+root@adara:/etc# apt search php | grep json</p>
|
|
|
+<p>WARNING: apt does not have a stable CLI interface. Use with caution in scripts.</p>
|
|
|
+<p>jsonlint/stable 1.5.0-1 all
|
|
|
+php-json/stable 1:7.0+49 all
|
|
|
+php-json-schema/stable 1.6.1-2 all
|
|
|
+php7.0-json/stable,stable 7.0.27-0+deb9u1 amd64
|
|
|
+root@adara:/etc# apt install php-json
|
|
|
+Lecture des listes de paquets... Fait
|
|
|
+Construction de l'arbre des dépendances <br />
|
|
|
+Lecture des informations d'état... Fait
|
|
|
+The following additional packages will be installed:
|
|
|
+ php7.0-json
|
|
|
+Les NOUVEAUX paquets suivants seront installés :
|
|
|
+ php-json php7.0-json
|
|
|
+0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
|
|
|
+Il est nécessaire de prendre 22,0 ko dans les archives.
|
|
|
+Après cette opération, 80,9 ko d'espace disque supplémentaires seront utilisés.
|
|
|
+Souhaitez-vous continuer ? [O/n] o
|
|
|
+Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-json amd64 7.0.27-0+deb9u1 [17,0 kB]
|
|
|
+Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-json all 1:7.0+49 [5 050 B]
|
|
|
+22,0 ko réceptionnés en 0s (839 ko/s)
|
|
|
+Sélection du paquet php7.0-json précédemment désélectionné.
|
|
|
+(Lecture de la base de données... 27895 fichiers et répertoires déjà installés.)
|
|
|
+Préparation du dépaquetage de .../php7.0-json_7.0.27-0+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de php7.0-json (7.0.27-0+deb9u1) ...
|
|
|
+Sélection du paquet php-json précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../php-json_1%3a7.0+49_all.deb ...
|
|
|
+Dépaquetage de php-json (1:7.0+49) ...
|
|
|
+Paramétrage de php7.0-json (7.0.27-0+deb9u1) ...</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/json.ini with new version
|
|
|
+Paramétrage de php-json (1:7.0+49) ...
|
|
|
+root@adara:/etc# apt search php | grep libxml</p>
|
|
|
+<p>WARNING: apt does not have a stable CLI interface. Use with caution in scripts.</p>
|
|
|
+<p>root@adara:/etc# apt search php | grep xml</p>
|
|
|
+<p>WARNING: apt does not have a stable CLI interface. Use with caution in scripts.</p>
|
|
|
+<p>libsmokeqtxml4-3/stable 4:4.14.3-1.1 amd64
|
|
|
+libsmokeqtxmlpatterns4-3/stable 4:4.14.3-1.1 amd64
|
|
|
+php-horde-xml-element/stable 2.0.4-3 all
|
|
|
+php-horde-xml-wbxml/stable 2.0.3-3 all
|
|
|
+ Horde_Xml_Wbxml provides an API for encoding and decoding WBXML documents used in SyncML and other wireless applications
|
|
|
+php-sabre-xml/stable 1.4.2-1 all
|
|
|
+php-symfony-polyfill-xml/stable 1.2.0-1 all
|
|
|
+ Symfony polyfill for xml's utf8_encode and utf8_decode functions
|
|
|
+php-xml/stable 1:7.0+49 all
|
|
|
+php-xml-htmlsax3/stable 3.0.0+really3.0.0-3 all
|
|
|
+php-xml-rpc2/stable 1.1.3-0.1 all
|
|
|
+php-xml-svg/stable 1.1.0-2 all
|
|
|
+php-xmlrpc/stable 1:7.0+49 all
|
|
|
+php7.0-xml/stable,stable 7.0.27-0+deb9u1 amd64
|
|
|
+php7.0-xmlrpc/stable,stable 7.0.27-0+deb9u1 amd64
|
|
|
+root@adara:/etc# apt install php-xml
|
|
|
+Lecture des listes de paquets... Fait
|
|
|
+Construction de l'arbre des dépendances <br />
|
|
|
+Lecture des informations d'état... Fait
|
|
|
+The following additional packages will be installed:
|
|
|
+ libxslt1.1 php7.0-xml
|
|
|
+Les NOUVEAUX paquets suivants seront installés :
|
|
|
+ libxslt1.1 php-xml php7.0-xml
|
|
|
+0 mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
|
|
|
+Il est nécessaire de prendre 351 ko dans les archives.
|
|
|
+Après cette opération, 992 ko d'espace disque supplémentaires seront utilisés.
|
|
|
+Souhaitez-vous continuer ? [O/n] o
|
|
|
+Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 libxslt1.1 amd64 1.1.29-2.1 [233 kB]
|
|
|
+Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-xml amd64 7.0.27-0+deb9u1 [112 kB]
|
|
|
+Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-xml all 1:7.0+49 [5 068 B]
|
|
|
+351 ko réceptionnés en 0s (7 580 ko/s)
|
|
|
+Sélection du paquet libxslt1.1:amd64 précédemment désélectionné.
|
|
|
+(Lecture de la base de données... 27907 fichiers et répertoires déjà installés.)
|
|
|
+Préparation du dépaquetage de .../libxslt1.1_1.1.29-2.1_amd64.deb ...
|
|
|
+Dépaquetage de libxslt1.1:amd64 (1.1.29-2.1) ...
|
|
|
+Sélection du paquet php7.0-xml précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../php7.0-xml_7.0.27-0+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de php7.0-xml (7.0.27-0+deb9u1) ...
|
|
|
+Sélection du paquet php-xml précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../php-xml_1%3a7.0+49_all.deb ...
|
|
|
+Dépaquetage de php-xml (1:7.0+49) ...
|
|
|
+Paramétrage de libxslt1.1:amd64 (1.1.29-2.1) ...
|
|
|
+Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
|
|
|
+Paramétrage de php7.0-xml (7.0.27-0+deb9u1) ...</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/dom.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/simplexml.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/wddx.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/xml.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/xmlreader.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/xmlwriter.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/xsl.ini with new version
|
|
|
+Paramétrage de php-xml (1:7.0+49) ...
|
|
|
+root@adara:/etc# apt search php | grep dom</p>
|
|
|
+<p>WARNING: apt does not have a stable CLI interface. Use with caution in scripts.</p>
|
|
|
+<p>Convert to/from Koremutake Memorable Random Strings
|
|
|
+php-dompdf/stable 0.6.2+dfsg-3 all
|
|
|
+php-fdomdocument/stable 1.6.1-2 all
|
|
|
+ PHP Pear module for handling international domain names
|
|
|
+ PHP module for detecting registered domains and public suffixes
|
|
|
+php-random-compat/stable 2.0.2-2 all
|
|
|
+ PHP 5.x polyfill for random_bytes() and random_int() from PHP 7
|
|
|
+php-symfony-dom-crawler/stable 2.8.7+dfsg-1.3 all
|
|
|
+root@adara:/etc# apt install php-symfony-dom-crawler
|
|
|
+Lecture des listes de paquets... Fait
|
|
|
+Construction de l'arbre des dépendances <br />
|
|
|
+Lecture des informations d'état... Fait
|
|
|
+The following additional packages will be installed:
|
|
|
+ php-symfony-polyfill-mbstring
|
|
|
+Paquets suggérés :
|
|
|
+ php-symfony-css-selector php-mbstring
|
|
|
+Les NOUVEAUX paquets suivants seront installés :
|
|
|
+ php-symfony-dom-crawler php-symfony-polyfill-mbstring
|
|
|
+0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour.
|
|
|
+Il est nécessaire de prendre 41,6 ko dans les archives.
|
|
|
+Après cette opération, 225 ko d'espace disque supplémentaires seront utilisés.
|
|
|
+Souhaitez-vous continuer ? [O/n] o
|
|
|
+Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-symfony-polyfill-mbstring all 1.2.0-1 [12,0 kB]
|
|
|
+Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 php-symfony-dom-crawler all 2.8.7+dfsg-1.3 [29,6 kB]
|
|
|
+41,6 ko réceptionnés en 0s (199 ko/s)<br />
|
|
|
+Sélection du paquet php-symfony-polyfill-mbstring précédemment désélectionné.
|
|
|
+(Lecture de la base de données... 27947 fichiers et répertoires déjà installés.)
|
|
|
+Préparation du dépaquetage de .../php-symfony-polyfill-mbstring_1.2.0-1_all.deb ...
|
|
|
+Dépaquetage de php-symfony-polyfill-mbstring (1.2.0-1) ...
|
|
|
+Sélection du paquet php-symfony-dom-crawler précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../php-symfony-dom-crawler_2.8.7+dfsg-1.3_all.deb ...
|
|
|
+Dépaquetage de php-symfony-dom-crawler (2.8.7+dfsg-1.3) ...
|
|
|
+Paramétrage de php-symfony-polyfill-mbstring (1.2.0-1) ...
|
|
|
+Paramétrage de php-symfony-dom-crawler (2.8.7+dfsg-1.3) ...
|
|
|
+root@adara:/etc# apt search php | grep openssl</p>
|
|
|
+<p>WARNING: apt does not have a stable CLI interface. Use with caution in scripts.</p>
|
|
|
+<p>root@adara:/etc# apt search php | grep ssl</p>
|
|
|
+<p>WARNING: apt does not have a stable CLI interface. Use with caution in scripts.</p>
|
|
|
+<p>root@adara:/etc# apt install php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml
|
|
|
+Lecture des listes de paquets... Fait
|
|
|
+Construction de l'arbre des dépendances <br />
|
|
|
+Lecture des informations d'état... Fait
|
|
|
+php7.0-curl is already the newest version (7.0.27-0+deb9u1).
|
|
|
+php7.0-xml is already the newest version (7.0.27-0+deb9u1).
|
|
|
+php7.0-xml passé en « installé manuellement ».
|
|
|
+The following additional packages will be installed:
|
|
|
+ libmagic-mgc libmagic1 php7.0-cli php7.0-opcache php7.0-readline
|
|
|
+Paquets suggérés :
|
|
|
+ php-pear file
|
|
|
+Les NOUVEAUX paquets suivants seront installés :
|
|
|
+ libapache2-mod-php7.0 libmagic-mgc libmagic1 php7.0 php7.0-cli php7.0-opcache php7.0-readline
|
|
|
+0 mis à jour, 7 nouvellement installés, 0 à enlever et 0 non mis à jour.
|
|
|
+Il est nécessaire de prendre 2 984 ko dans les archives.
|
|
|
+Après cette opération, 14,3 Mo d'espace disque supplémentaires seront utilisés.
|
|
|
+Souhaitez-vous continuer ? [O/n] o
|
|
|
+Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 libmagic-mgc amd64 1:5.30-1+deb9u1 [222 kB]
|
|
|
+Réception de:2 http://debian.mirrors.ovh.net/debian stretch/main amd64 libmagic1 amd64 1:5.30-1+deb9u1 [111 kB]
|
|
|
+Réception de:3 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-opcache amd64 7.0.27-0+deb9u1 [77,5 kB]
|
|
|
+Réception de:4 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-readline amd64 7.0.27-0+deb9u1 [12,2 kB]
|
|
|
+Réception de:5 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-cli amd64 7.0.27-0+deb9u1 [1 284 kB]
|
|
|
+Réception de:6 http://debian.mirrors.ovh.net/debian stretch/main amd64 libapache2-mod-php7.0 amd64 7.0.27-0+deb9u1 [1 224 kB]
|
|
|
+Réception de:7 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0 all 7.0.27-0+deb9u1 [52,9 kB]
|
|
|
+2 984 ko réceptionnés en 0s (10,9 Mo/s)
|
|
|
+Sélection du paquet libmagic-mgc précédemment désélectionné.
|
|
|
+(Lecture de la base de données... 27977 fichiers et répertoires déjà installés.)
|
|
|
+Préparation du dépaquetage de .../0-libmagic-mgc_1%3a5.30-1+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de libmagic-mgc (1:5.30-1+deb9u1) ...
|
|
|
+Sélection du paquet libmagic1:amd64 précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../1-libmagic1_1%3a5.30-1+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de libmagic1:amd64 (1:5.30-1+deb9u1) ...
|
|
|
+Sélection du paquet php7.0-opcache précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../2-php7.0-opcache_7.0.27-0+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de php7.0-opcache (7.0.27-0+deb9u1) ...
|
|
|
+Sélection du paquet php7.0-readline précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../3-php7.0-readline_7.0.27-0+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de php7.0-readline (7.0.27-0+deb9u1) ...
|
|
|
+Sélection du paquet php7.0-cli précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../4-php7.0-cli_7.0.27-0+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de php7.0-cli (7.0.27-0+deb9u1) ...
|
|
|
+Sélection du paquet libapache2-mod-php7.0 précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../5-libapache2-mod-php7.0_7.0.27-0+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de libapache2-mod-php7.0 (7.0.27-0+deb9u1) ...
|
|
|
+Sélection du paquet php7.0 précédemment désélectionné.
|
|
|
+Préparation du dépaquetage de .../6-php7.0_7.0.27-0+deb9u1_all.deb ...
|
|
|
+Dépaquetage de php7.0 (7.0.27-0+deb9u1) ...
|
|
|
+Paramétrage de php7.0-readline (7.0.27-0+deb9u1) ...</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/readline.ini with new version
|
|
|
+Paramétrage de php7.0-opcache (7.0.27-0+deb9u1) ...</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/opcache.ini with new version
|
|
|
+Paramétrage de libmagic-mgc (1:5.30-1+deb9u1) ...
|
|
|
+Paramétrage de libmagic1:amd64 (1:5.30-1+deb9u1) ...
|
|
|
+Traitement des actions différées (« triggers ») pour libc-bin (2.24-11+deb9u3) ...
|
|
|
+Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
|
|
|
+Paramétrage de php7.0-cli (7.0.27-0+deb9u1) ...
|
|
|
+update-alternatives: utilisation de « /usr/bin/php7.0 » pour fournir « /usr/bin/php » (php) en mode automatique
|
|
|
+update-alternatives: utilisation de « /usr/bin/phar7.0 » pour fournir « /usr/bin/phar » (phar) en mode automatique
|
|
|
+update-alternatives: utilisation de « /usr/bin/phar.phar7.0 » pour fournir « /usr/bin/phar.phar » (phar.phar) en mode automatique</p>
|
|
|
+<p>Creating config file /etc/php/7.0/cli/php.ini with new version
|
|
|
+php_invoke: Enable module fileinfo for cli sapi
|
|
|
+php_invoke: Enable module dom for cli sapi
|
|
|
+php_invoke: Enable module xmlwriter for cli sapi
|
|
|
+php_invoke: Enable module sysvsem for cli sapi
|
|
|
+php_invoke: Enable module ftp for cli sapi
|
|
|
+php_invoke: Enable module curl for cli sapi
|
|
|
+php_invoke: Enable module xml for cli sapi
|
|
|
+php_invoke: Enable module gettext for cli sapi
|
|
|
+php_invoke: Enable module ctype for cli sapi
|
|
|
+php_invoke: Enable module json for cli sapi
|
|
|
+php_invoke: Enable module sockets for cli sapi
|
|
|
+php_invoke: Enable module sysvmsg for cli sapi
|
|
|
+php_invoke: Enable module xsl for cli sapi
|
|
|
+php_invoke: Enable module simplexml for cli sapi
|
|
|
+php_invoke: Enable module xmlreader for cli sapi
|
|
|
+php_invoke: Enable module exif for cli sapi
|
|
|
+php_invoke: Enable module shmop for cli sapi
|
|
|
+php_invoke: Enable module sysvshm for cli sapi
|
|
|
+php_invoke: Enable module pdo for cli sapi
|
|
|
+php_invoke: Enable module tokenizer for cli sapi
|
|
|
+php_invoke: Enable module calendar for cli sapi
|
|
|
+php_invoke: Enable module wddx for cli sapi
|
|
|
+php_invoke: Enable module iconv for cli sapi
|
|
|
+php_invoke: Enable module posix for cli sapi
|
|
|
+php_invoke: Enable module phar for cli sapi
|
|
|
+Paramétrage de libapache2-mod-php7.0 (7.0.27-0+deb9u1) ...</p>
|
|
|
+<p>Creating config file /etc/php/7.0/apache2/php.ini with new version
|
|
|
+php_invoke: Enable module fileinfo for apache2 sapi
|
|
|
+php_invoke: Enable module dom for apache2 sapi
|
|
|
+php_invoke: Enable module xmlwriter for apache2 sapi
|
|
|
+php_invoke: Enable module sysvsem for apache2 sapi
|
|
|
+php_invoke: Enable module ftp for apache2 sapi
|
|
|
+php_invoke: Enable module curl for apache2 sapi
|
|
|
+php_invoke: Enable module xml for apache2 sapi
|
|
|
+php_invoke: Enable module gettext for apache2 sapi
|
|
|
+php_invoke: Enable module ctype for apache2 sapi
|
|
|
+php_invoke: Enable module json for apache2 sapi
|
|
|
+php_invoke: Enable module sockets for apache2 sapi
|
|
|
+php_invoke: Enable module sysvmsg for apache2 sapi
|
|
|
+php_invoke: Enable module xsl for apache2 sapi
|
|
|
+php_invoke: Enable module simplexml for apache2 sapi
|
|
|
+php_invoke: Enable module xmlreader for apache2 sapi
|
|
|
+php_invoke: Enable module exif for apache2 sapi
|
|
|
+php_invoke: Enable module shmop for apache2 sapi
|
|
|
+php_invoke: Enable module sysvshm for apache2 sapi
|
|
|
+php_invoke: Enable module pdo for apache2 sapi
|
|
|
+php_invoke: Enable module tokenizer for apache2 sapi
|
|
|
+php_invoke: Enable module calendar for apache2 sapi
|
|
|
+php_invoke: Enable module wddx for apache2 sapi
|
|
|
+php_invoke: Enable module iconv for apache2 sapi
|
|
|
+php_invoke: Enable module posix for apache2 sapi
|
|
|
+php_invoke: Enable module phar for apache2 sapi
|
|
|
+Module mpm_event disabled.
|
|
|
+Enabling module mpm_prefork.
|
|
|
+apache2_switch_mpm Switch to prefork
|
|
|
+apache2_invoke: Enable module php7.0
|
|
|
+Paramétrage de php7.0 (7.0.27-0+deb9u1) ...
|
|
|
+root@adara:/etc# mc</p>
|
|
|
+<p>root@adara:/etc# a2ensite webmail
|
|
|
+Enabling site webmail.
|
|
|
+To activate the new configuration, you need to run:
|
|
|
+ systemctl reload apache2
|
|
|
+root@adara:/etc# cd /home/www
|
|
|
+root@adara:/home/www# ls
|
|
|
+divers faqfctt goulya homepage New-FSI rainloop wordpress
|
|
|
+root@adara:/home/www# cd rainloop/
|
|
|
+root@adara:/home/www/rainloop# find . -type d -exec chmod 755 {} \;
|
|
|
+root@adara:/home/www/rainloop# find . -type f -exec chmod 644 {} \;
|
|
|
+root@adara:/home/www/rainloop# chown -R www-data:www-data .
|
|
|
+root@adara:/home/www/rainloop# service apache2 restart
|
|
|
+root@adara:/home/www/rainloop# mc</p>
|
|
|
+<p>root@adara:/home/www/rainloop# service apache2 restart
|
|
|
+root@adara:/home/www/rainloop# apt search php | grep sqlite</p>
|
|
|
+<p>WARNING: apt does not have a stable CLI interface. Use with caution in scripts.</p>
|
|
|
+<p>php-sqlite3/stable 1:7.0+49 all
|
|
|
+php7.0-sqlite3/stable,stable 7.0.27-0+deb9u1 amd64
|
|
|
+root@adara:/home/www/rainloop# apt install php7.0-sqlite3
|
|
|
+Lecture des listes de paquets... Fait
|
|
|
+Construction de l'arbre des dépendances <br />
|
|
|
+Lecture des informations d'état... Fait
|
|
|
+Les NOUVEAUX paquets suivants seront installés :
|
|
|
+ php7.0-sqlite3
|
|
|
+0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
|
|
|
+Il est nécessaire de prendre 24,8 ko dans les archives.
|
|
|
+Après cette opération, 111 ko d'espace disque supplémentaires seront utilisés.
|
|
|
+Réception de:1 http://debian.mirrors.ovh.net/debian stretch/main amd64 php7.0-sqlite3 amd64 7.0.27-0+deb9u1 [24,8 kB]
|
|
|
+24,8 ko réceptionnés en 0s (299 ko/s)
|
|
|
+Sélection du paquet php7.0-sqlite3 précédemment désélectionné.
|
|
|
+(Lecture de la base de données... 28052 fichiers et répertoires déjà installés.)
|
|
|
+Préparation du dépaquetage de .../php7.0-sqlite3_7.0.27-0+deb9u1_amd64.deb ...
|
|
|
+Dépaquetage de php7.0-sqlite3 (7.0.27-0+deb9u1) ...
|
|
|
+Traitement des actions différées (« triggers ») pour libapache2-mod-php7.0 (7.0.27-0+deb9u1) ...
|
|
|
+Paramétrage de php7.0-sqlite3 (7.0.27-0+deb9u1) ...</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/sqlite3.ini with new version</p>
|
|
|
+<p>Creating config file /etc/php/7.0/mods-available/pdo_sqlite.ini with new version
|
|
|
+Traitement des actions différées (« triggers ») pour libapache2-mod-php7.0 (7.0.27-0+deb9u1) ...
|
|
|
+root@adara:/home/www/rainloop# service apache2 restart
|
|
|
+root@adara:/home/www/rainloop# </p>
|
|
|
+<p>Ajouter https avec certbot --apache</p>
|
|
|
+<pre><code>
|
|
|
+</code></pre>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <footer>
|
|
|
+
|
|
|
+ <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
|
|
+
|
|
|
+ <a href="../11-onze/" class="btn btn-neutral float-right" title="Installation des certificats letsencrypt">Next <span class="icon icon-circle-arrow-right"></span></a>
|
|
|
+
|
|
|
+
|
|
|
+ <a href="../9-neuf/" class="btn btn-neutral" title="Installation d'un serveur web"><span class="icon icon-circle-arrow-left"></span> Previous</a>
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <hr/>
|
|
|
+
|
|
|
+ <div role="contentinfo">
|
|
|
+ <!-- Copyright etc -->
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
+ Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
+</footer>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </section>
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
+<div class="rst-versions" role="note" style="cursor: pointer">
|
|
|
+ <span class="rst-current-version" data-toggle="rst-current-version">
|
|
|
+
|
|
|
+
|
|
|
+ <span><a href="../9-neuf/" style="color: #fcfcfc;">« Previous</a></span>
|
|
|
+
|
|
|
+
|
|
|
+ <span style="margin-left: 15px"><a href="../11-onze/" style="color: #fcfcfc">Next »</a></span>
|
|
|
+
|
|
|
+ </span>
|
|
|
+</div>
|
|
|
+
|
|
|
+</body>
|
|
|
+</html>
|