<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>belgotux, Auteur à Mon linux</title>
	<atom:link href="https://www.monlinux.net/author/belgotux/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.monlinux.net/author/belgotux/</link>
	<description>by Belgotux</description>
	<lastBuildDate>Sun, 23 Feb 2025 15:52:22 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>

<image>
	<url>https://www.monlinux.net/wp-content/uploads/cropped-mon-linux-logo-grey-512-32x32.png</url>
	<title>belgotux, Auteur à Mon linux</title>
	<link>https://www.monlinux.net/author/belgotux/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Pi-Hole migration v5 vers v6</title>
		<link>https://www.monlinux.net/2025/02/pi-hole-migration-v5-vers-v6/</link>
					<comments>https://www.monlinux.net/2025/02/pi-hole-migration-v5-vers-v6/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Sun, 23 Feb 2025 15:51:30 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[pihole]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=2014</guid>

					<description><![CDATA[<p>La version 6 de Pi-hole a &#233;t&#233; enti&#232;rement repens&#233;e et contient de nombreux changement radicaux, pouvant casser une configuration 5 existante! Modifications Pi-Hole Pour &#233;viter les probl&#232;me de migration entre la v5 et la v6, voici ce qui a &#233;t&#233;... <a class="more-link" href="https://www.monlinux.net/2025/02/pi-hole-migration-v5-vers-v6/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2025/02/pi-hole-migration-v5-vers-v6/">Pi-Hole migration v5 vers v6</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>La version 6 de Pi-hole a été entièrement repensée et contient de nombreux changement radicaux, pouvant casser une configuration 5 existante!</p>



<h2 class="wp-block-heading">Modifications Pi-Hole</h2>



<p>Pour éviter les problème de migration entre la v5 et la v6, voici ce qui a été utile de faire dans mon cas :</p>



<ol class="wp-block-list">
<li>Suppression du secret pour la page web<br>Dans le service retirer :</li>
</ol>



<pre class="wp-block-code"><code class="">secrets:
      - 'webpass'</code></pre>



<ol start="2" class="wp-block-list">
<li>Retirer les lignes secrets</li>
</ol>



<pre class="wp-block-code"><code class="">secrets:
  webpass:
    file: "./webpass.secret"</code></pre>



<ol start="3" class="wp-block-list">
<li>supprimer les fichiers de base de données de statistique afin d&rsquo;éviter un docker qui ne boot pas correctement et l&rsquo;erreur suivante : <code>ERROR: SQLite3: recovered 3 frames from WAL file /etc/<mark>pihole</mark>/<mark>pihole</mark>-FTL.db-wal (283)</code><br><mark>pihole</mark>-FTL.db<br><mark>pihole</mark>-FTL.db-shm<br><mark>pihole</mark>-FTL.db-wal</li>



<li>Mettre à jour :&nbsp;<code>docker compose pull &amp;&amp; docker compose down -v &amp;&amp; docker compose up -d</code></li>



<li>Définir le mot de passe de l&rsquo;admin web :&nbsp;<code>docker exec -it votre_container&nbsp;<mark>pihole</mark>&nbsp;setpassword</code></li>
</ol>



<p>Exemple d&rsquo;un docker-compose simple :</p>



<pre class="wp-block-code"><code class="">services:
  <mark>pihole</mark>:
    image: <mark>pihole</mark>/<mark>pihole</mark>:latest
    container_name: <mark>pihole</mark>
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      <em>#- "67:67/udp"</em>
      - "2080:80/tcp"
      <em>#- "2443:443/tcp"</em>
    volumes:
      - '/var/lib/docker/data/<mark>pihole</mark>/etc-<mark>pihole</mark>/:/etc/<mark>pihole</mark>/'
      - '/var/lib/docker/data/<mark>pihole</mark>/etc-dnsmasq.d/:/etc/dnsmasq.d/'
    environment:
      TZ: 'Europe/Paris'

    restart: unless-stopped</code></pre>



<p>Pour le reste des <a href="https://www.monlinux.net/2022/03/pihole-publicite-et-site-malicieux/">options docker pour Pi-Hole, référencez vous à mon article précédent</a>, ainsi que la <a href="https://docs.pi-hole.net/docker/" target="_blank" rel="noreferrer noopener">documentation officielle</a> est très bien faite.</p>



<h2 class="wp-block-heading">Liste d&rsquo;url de backlist perso</h2>



<p>Voici ma list d&rsquo;url avec leur description : </p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="717" height="1024" src="https://www.monlinux.net/wp-content/uploads/image-61-717x1024.png" alt="" class="wp-image-2016" srcset="https://www.monlinux.net/wp-content/uploads/image-61-717x1024.png 717w, https://www.monlinux.net/wp-content/uploads/image-61-210x300.png 210w, https://www.monlinux.net/wp-content/uploads/image-61-768x1097.png 768w, https://www.monlinux.net/wp-content/uploads/image-61-600x857.png 600w, https://www.monlinux.net/wp-content/uploads/image-61.png 812w" sizes="(max-width: 717px) 100vw, 717px" /></figure>



<p>Et pour copier ces blacklists : </p>



<pre class="wp-block-code"><code class="">https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts	
https://raw.githubusercontent.com/StevenBlack/hosts/master/extensions/fakenews/hosts
https://v.firebog.net/hosts/static/w3kbl.txt	
https://adaway.org/hosts.txt	
https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt	
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt	
https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext	
https://v.firebog.net/hosts/Easyprivacy.txt	
https://v.firebog.net/hosts/Prigent-Ads.txt	
https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.2o7Net/hosts	
https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/spy.txt	
https://hostfiles.frogeye.fr/firstparty-trackers-hosts.txt
https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/gambling/hosts	
https://raw.githubusercontent.com/kevle1/Windows-telemetry-blocklist/master/windowsblock.txt	
https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/domains/native.winoffice.txt	
https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/domains/native.amazon.txt	
https://raw.githubusercontent.com/lassekongo83/Frellwits-filter-lists/master/Frellwits-Swedish-Hosts-File.txt	
https://v.firebog.net/hosts/AdguardDNS.txt	
https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/rpz/tif.mini.txt</code></pre>



<p>Le <a href="https://github.com/mullvad/dns-blocklists?tab=readme-ov-file#lists" target="_blank" rel="noreferrer noopener">projet github de mullvad</a> d&rsquo;où vient quelques listes.</p>
<p>L’article <a href="https://www.monlinux.net/2025/02/pi-hole-migration-v5-vers-v6/">Pi-Hole migration v5 vers v6</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2025/02/pi-hole-migration-v5-vers-v6/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MQTTS sous Tasmota esp8266 possible ?</title>
		<link>https://www.monlinux.net/2024/06/mqtts-sous-tasmota-esp8266-possible/</link>
					<comments>https://www.monlinux.net/2024/06/mqtts-sous-tasmota-esp8266-possible/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Fri, 21 Jun 2024 18:22:00 +0000</pubDate>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[domotique]]></category>
		<category><![CDATA[MQTT]]></category>
		<category><![CDATA[tasmota]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1969</guid>

					<description><![CDATA[<p>L&#8217;image de base de Tasmota pour un esp8266 n&#8217;est pas fourni avec le support de TLS&#8230; Afin de ne pas surcharg&#233; les esp8266 avec 1Mo de m&#233;moire. Mais actuellement, on a souvent des clones Wemos D1 mini avec 4Mo de... <a class="more-link" href="https://www.monlinux.net/2024/06/mqtts-sous-tasmota-esp8266-possible/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2024/06/mqtts-sous-tasmota-esp8266-possible/">MQTTS sous Tasmota esp8266 possible ?</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>L&rsquo;image de base de Tasmota pour un esp8266 n&rsquo;est pas fourni avec le support de TLS&#8230; Afin de ne pas surchargé les esp8266 avec 1Mo de mémoire. Mais actuellement, on a souvent <a href="https://www.aliexpress.com/item/1005006365878568.html" target="_blank" rel="noreferrer noopener nofollow">des clones Wemos D1 mini avec 4Mo de mémoire</a>&#8230; Donc on ne va pas s&rsquo;en priver&#8230;</p>



<p>Vous devez installer le plugin platformio sous VScodium (ou VScode si vous tenez aux spyware microsoft), <a href="https://tasmota.github.io/docs/PlatformIO/" target="_blank" rel="noreferrer noopener">en suivant le guide de Tasmota</a>.</p>



<h2 class="wp-block-heading">Activé MQTT TLS dans les headers Tasmota</h2>



<p>Editer le fichier `user_config_override.h` pour y ajouter les lignes : </p>



<pre class="wp-block-code"><code lang="cpp" class="language-cpp">// FORCE ADDING TLS SUPPORT
#ifndef USE_MQTT_TLS 
#define USE_MQTT_TLS                             // Use TLS for MQTT connection (+34.5k code, +7.0k mem and +4.8k additional during connection handshake)
#define MQTT_TLS_ENABLED       true              // [SetOption103] Enable TLS mode (requires TLS version)
#endif</code></pre>



<p>Vous pouvez y ajouter sans problème vos autres module dans ce fichier si vous avez besoin d&rsquo;un support d&rsquo;écran spécial, d&rsquo;une sonde spécifique etc.</p>



<h2 class="wp-block-heading">Pré-remplir les données wifi et MQTT</h2>



<p>Si vous comptez avoir pas mal d&rsquo;esp32 ou esp8266 dans votre domotique, je vous conseille aussi de setter les paramètres MQTT et wifi de votre réseau avec ces paramètres : </p>



<pre class="wp-block-code"><code lang="cpp" class="language-cpp">// -- Setup your own Wifi settings  ---------------
#undef  STA_SSID1
#define STA_SSID1         "votre wifi"             // [Ssid1] Wifi SSID

#undef  STA_PASS1
#define STA_PASS1         "mot de passe"     // [Password1] Wifi password

// -- Setup your own MQTT settings  ---------------
#undef  MQTT_HOST
#define MQTT_HOST         "votre jeedom ou homeassistant" // [MqttHost]

#undef  MQTT_PORT
#define MQTT_PORT         8883                   // [MqttPort] MQTT port (10123 on CloudMQTT)

#undef  MQTT_USER
#define MQTT_USER         "tasmota"         // [MqttUser] Optional user

#undef  MQTT_PASS
#define MQTT_PASS         "mot de passe mqtt dédié pour vos tasmota"         // [MqttPassword] Optional password

#define MQTT_FULLTOPIC    "ip/room/%topic%/%prefix%/"  // mon exemple d'arborescence</code></pre>



<p>Actuellement, il y a quand même la commande suivante à taper dans la console pour un certificat auto-signé qui est à faire <a href="https://www.monlinux.net/2023/11/tasmota-et-mqtt-mqtts/">comme expliqué dans l&rsquo;article sur Tasmota MQTT</a> : « SetOption132 1 »</p>
<p>L’article <a href="https://www.monlinux.net/2024/06/mqtts-sous-tasmota-esp8266-possible/">MQTTS sous Tasmota esp8266 possible ?</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2024/06/mqtts-sous-tasmota-esp8266-possible/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>BIMI pour identifier l&#8217;expéditeur mail</title>
		<link>https://www.monlinux.net/2024/06/bimi-pour-identifier-lexpediteur-mail/</link>
					<comments>https://www.monlinux.net/2024/06/bimi-pour-identifier-lexpediteur-mail/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Sun, 09 Jun 2024 20:54:00 +0000</pubDate>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[mail]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1996</guid>

					<description><![CDATA[<p>BIMI s&#8217;appuie sur un logo au format SVG qui permet visuellement de v&#233;rifier que l&#8217;exp&#233;diteur est bien celui qu&#8217;il pr&#233;tend &#234;tre&#8230; Et pas quelqu&#8217;un avec un nom de domaine proche. Il faut &#233;videment que le champ DMARC soit &#224; &#171;&#160;quarantine&#160;&#187;... <a class="more-link" href="https://www.monlinux.net/2024/06/bimi-pour-identifier-lexpediteur-mail/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2024/06/bimi-pour-identifier-lexpediteur-mail/">BIMI pour identifier l&rsquo;expéditeur mail</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>BIMI s&rsquo;appuie sur un logo au format SVG qui permet visuellement de vérifier que l&rsquo;expéditeur est bien celui qu&rsquo;il prétend être&#8230; Et pas quelqu&rsquo;un avec un nom de domaine proche. Il faut évidement que le champ DMARC soit à « quarantine » ou « reject ». Cela ne fonctionne pas s&rsquo;il est à « none ».</p>



<p>Attention au format SVG qui doit être précisément <code>SVG Tiny/Portable Secure 1.2 format (SVG P/S)</code>.</p>



<p>Cela se fait via un champ DNS TXT : <code>default._bimi.mondomaine.net</code><br>Une valeur simple : <code>v=BIMI1;l=https://votre_domain.tld/xxx/logo.svg;a=;</code></p>



<p>Une valeur avec un rejet de signature il faut mettre « <code>a=;</code> » explicitement.<br>Sinon il faut indiqué une signature au format pem.</p>



<p>Pour vérifier que le format du logo est bien correcte, vous pouvez utiliser également <a href="https://mxtoolbox.com">mxtoolbox</a>.</p>



<h2 class="wp-block-heading">Transformer son logo au bon format BIMI</h2>



<p>Sur la partie compatibilité du format, je me réfère au site officiel du <a href="https://bimigroup.org/svg-conversion-tools-released/">bimigroup</a> qui conseille d&rsquo;utiliser un outils de conversion disponible sur&#8230; <a href="https://github.com/authindicators/svg-ps-converters/tree/master/gui-win10">Github</a> d&rsquo;une personne tiers&#8230;</p>



<p>J&rsquo;ai converti mon logo SVG au format  Tiny 1.2 pour ensuite utiliser leur outil windows pour le mettre au format SVG P/S. Autant PowerDMARC me renvoie que cela est valide, autant mxtoolbox me dit que le format ne respecte pas la norme&#8230; Je sèche un peu sur cette partie là.</p>



<h2 class="wp-block-heading" id="astuce">Astuce pour stocker votre logo BIMI</h2>



<p>Si vous avez suivis <a href="https://www.monlinux.net/?p=1991">la mise en place du MTA-STS via docker</a>, vous pouvez très bien mettre votre logo svg pour le BIMI sur le serveur nginx contenant votre fichier <code>mta-sts.txt</code> . Vous déplacez votre fichier à la racine de src :</p>



<pre class="wp-block-code"><code class="">cp mon_logo.svg /etc/docker/mta-sts.monlinux.net/src/logo.svg</code></pre>



<p>Vous testez que le logo est disponible, vous devez avoir un code HTTP 200 :</p>



<pre class="wp-block-code"><code class="">$ curl -I https://mta-sts.monlinux.net/logo.svg
HTTP/2 200
accept-ranges: bytes
content-type: image/svg+xml
date: Mon, 26 May 2024 22:22:49 GMT
etag: "6638f52d-455b"
last-modified: Mon, 26 May 2024 22:20:13 GMT
server: nginx/1.25.5
content-length: 17755</code></pre>



<p>Ensuite il faut créer le champ DNS suivant : « <code>default._bimi.mondomaine.net</code> » avec la valeur suivante : « <code>v=BIMI1;l=https://mta-sts.mondomaine.net/logo.svg;a=;</code>« </p>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Une fois le BIMI et le MTA-STS configuré à l&rsquo;aide de power Dmarc pour la vérification, vous aurez un score honorable :</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="305" src="https://www.monlinux.net/wp-content/uploads/image-60-1024x305.png" alt="" class="wp-image-1998" srcset="https://www.monlinux.net/wp-content/uploads/image-60-1024x305.png 1024w, https://www.monlinux.net/wp-content/uploads/image-60-300x89.png 300w, https://www.monlinux.net/wp-content/uploads/image-60-768x229.png 768w, https://www.monlinux.net/wp-content/uploads/image-60-600x179.png 600w, https://www.monlinux.net/wp-content/uploads/image-60-945x282.png 945w, https://www.monlinux.net/wp-content/uploads/image-60.png 1422w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>L’article <a href="https://www.monlinux.net/2024/06/bimi-pour-identifier-lexpediteur-mail/">BIMI pour identifier l&rsquo;expéditeur mail</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2024/06/bimi-pour-identifier-lexpediteur-mail/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Se protéger du spoof DNS avec MTA-STS</title>
		<link>https://www.monlinux.net/2024/05/se-proteger-du-spoof-dns-avec-mta-sts/</link>
					<comments>https://www.monlinux.net/2024/05/se-proteger-du-spoof-dns-avec-mta-sts/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Sun, 26 May 2024 17:39:00 +0000</pubDate>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[mail]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1991</guid>

					<description><![CDATA[<p>Le but du MTA-STS est de ne pas faire confiance et augmenter sa r&#233;silience au d&#233;tournement de dns. Le serveur de mail du destinataire sait qu&#8217;il doit interroger un sous-domaine pr&#233;cis avec une arborescence bien d&#233;finie :&#160;https://mta-sts.[votre-domaine.net]/.well-known/mta-sts.txt. Cela joue un... <a class="more-link" href="https://www.monlinux.net/2024/05/se-proteger-du-spoof-dns-avec-mta-sts/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2024/05/se-proteger-du-spoof-dns-avec-mta-sts/">Se protéger du spoof DNS avec MTA-STS</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Le but du MTA-STS est de ne pas faire confiance et augmenter sa résilience au détournement de dns. Le serveur de mail du destinataire sait qu&rsquo;il doit interroger un sous-domaine précis avec une arborescence bien définie : <code>https://mta-sts.[votre-domaine.net]/.well-known/mta-sts.txt</code>. Cela joue un rôle important pour la sécurité mail.</p>



<h2 class="wp-block-heading" id="création-du-fichier">Création du fichier mta-sts</h2>



<p>La première chose à faire est de récupérer vos champs MX, pour cela :</p>



<pre class="wp-block-code"><code class="">dig @1.1.1.1 -t mx monlinux.net</code></pre>



<p>Prenez la réponse, ici&nbsp;<code>mta-gw.infomaniak.ch</code></p>



<pre class="wp-block-code"><code class="">monlinux.net.           300     IN      MX      5 mta-gw.infomaniak.ch.</code></pre>



<p>Ensuite créer le fichier mta-sts.txt en format UTF8 linux avec les données suivantes, si vous avez plusieurs entrées mx, ajouter autant de ligne « <code>mx: votre-2e-serveur"</code> que nécessaire :</p>



<pre class="wp-block-code"><code class="">version: STSv1
mode: testing
mx: mta-gw.infomaniak.ch
max_age: 2592000</code></pre>



<ul class="wp-block-list">
<li>la version est actuellement <code>STSv1</code></li>



<li>le mode <code>testing</code> permet à des serveurs non encore prêts de communiquer avec vous, il est possible d&rsquo;être strict en utilisant le mode <code>enforce</code> pour que seuls des serveurs supportant TLS n&rsquo;échange avec vos serveurs mails</li>



<li>max_age est le temps en secondes de validité de l&rsquo;autorisation. Au début partez sur 1h et une fois tout en place, vous pouvez mettre 1jour ou 1 mois si vous ne changez pas vos MX souvent.</li>
</ul>



<p>Un article complet avec des détail sur <a href="https://dmarcadvisor.com/mta-sts/" rel="nofollow">dmarcadvisor </a>en parle.</p>



<h2 class="wp-block-heading" id="création-du-docker">Création du docker</h2>



<p>Le plus light étant de faire un container docker sur votre serveur ou votre cluster. Voici un exemple pour un docker simple avec nginx derrière un <a href="https://www.monlinux.net/tag/traefik/">reverse proxy Traefik</a>. Ce nginx est donc configuré en http étant donné que c&rsquo;est <a href="https://doc.traefik.io/traefik/https/acme/">Traefik qui gère la partie TLS HTTPS</a>.</p>



<p>Créé l&rsquo;arborescence nécessaire :</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">mkdir -p mta-sts.monlinux.net/src/.well-known
cd mta-sts.monlinux.net
vim src/.well-known/mta-sts.txt
vim docker-compose.yml</code></pre>



<p>Le contenu du fichier&nbsp;<code>docker-compose.yml</code>&nbsp;:</p>



<p>Suite à<a href="https://www.monlinux.net/2023/02/minimal-docker-desktop-stack-de-developpement-sous-windows/"> mon article sur Traefik</a>, je rappelle que le réseau partagé pour toutes les applications webs externes sont sur <code>proxy-net</code>. Sans cluster, je lui donne un nom et une limite de mémoire et ensuite des règles Traefik avec le resolver let&rsquo;s encrypt.</p>



<pre class="wp-block-code"><code lang="yaml" class="language-yaml">version: '3.7'

networks:
  proxy-net:
    external: true

services:
  nginx:
    image: nginx:latest
    mem_limit: 100m
    container_name: mta_sts_monlinux
    networks:
      - proxy-net
    labels:
        - traefik.enable=true
        - "traefik.http.routers.mta_sts_monlinux.rule=Host(`mta-sts.monlinux.net`)"
        - traefik.http.routers.mta_sts_monlinux.tls.certresolver=le
        - traefik.http.routers.mta_sts_monlinux.entrypoints=websecure
        - traefik.frontend.passHostHeader=true
    volumes:
      - ./src:/usr/share/nginx/html
    restart: unless-stopped</code></pre>



<h2 class="wp-block-heading" id="création-du-nom-de-domaine">Création des noms de domaine</h2>



<p>Ne pas oublier de créer le domaine <code>mta-sts.monlinux.net</code> et de faire pointer sur votre Traefik ou autre hébergement web.</p>



<p>Ensuite il faut tester l&rsquo;accessibilité via curl :</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">$ curl https://mta-sts.monlinux.net/.well-known/mta-sts.txt
version: STSv1
mode: testing
mx: mta-gw.infomaniak.ch
max_age: 2592000</code></pre>



<p>Maintenant il faut créer un record DNS de type TXT « _mta-sts.monlinux.net » avec comme valeur la version et un id unique qui s&rsquo;incrémentera au moment d&rsquo;un changement de politique. Personnellement je prend le même format que pour les dns, la date et 2 chiffres YYYYMMDDNN. Dans mon cas la valeur sera « <code>v=STSv1;id=2024050601;</code>« </p>



<h2 class="wp-block-heading" id="vérification">Vérification du champ mta-sts</h2>



<p>Vérifiez que tout est correcte avec votre outil favori. Dans mon cas, j&rsquo;utilise <a href="https://mxtoolbox.com">mxtoolbox</a>. Vous mettrez votre domaine et vous choisissez le type « <code>MTA-STS Lookup</code>« <br>Vous aurez droit à un rapport complet sur votre champ dns, le contenu de votre fichier et les vérifications des serveurs MX présents.</p>



<p>Voici l&rsquo;exemple sur mon domaine :</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="894" src="https://www.monlinux.net/wp-content/uploads/image-59-1024x894.png" alt="" class="wp-image-1992" srcset="https://www.monlinux.net/wp-content/uploads/image-59-1024x894.png 1024w, https://www.monlinux.net/wp-content/uploads/image-59-300x262.png 300w, https://www.monlinux.net/wp-content/uploads/image-59-768x670.png 768w, https://www.monlinux.net/wp-content/uploads/image-59-600x524.png 600w, https://www.monlinux.net/wp-content/uploads/image-59-945x825.png 945w, https://www.monlinux.net/wp-content/uploads/image-59.png 1386w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>L’article <a href="https://www.monlinux.net/2024/05/se-proteger-du-spoof-dns-avec-mta-sts/">Se protéger du spoof DNS avec MTA-STS</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2024/05/se-proteger-du-spoof-dns-avec-mta-sts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Monitoring de rapport DMARC</title>
		<link>https://www.monlinux.net/2024/05/monitoring-de-rapport-dmarc/</link>
					<comments>https://www.monlinux.net/2024/05/monitoring-de-rapport-dmarc/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Fri, 17 May 2024 19:45:00 +0000</pubDate>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[mail]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1982</guid>

					<description><![CDATA[<p>Suite &#224; mon article sur la s&#233;curit&#233; mail avec SPF, DKIM et justement DMARC, une fois que tout est en place et que vous &#234;tes en politique &#171;&#160;quarantine&#160;&#187; ou &#171;&#160;none&#160;&#187;, il est pr&#233;f&#233;rable de monitorer ce qui se passe avant... <a class="more-link" href="https://www.monlinux.net/2024/05/monitoring-de-rapport-dmarc/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2024/05/monitoring-de-rapport-dmarc/">Monitoring de rapport DMARC</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Suite à <a href="https://www.monlinux.net/?p=1974">mon article sur la sécurité mail avec SPF, DKIM et justement DMARC</a>, une fois que tout est en place et que vous êtes en politique « quarantine » ou « none », il est préférable de monitorer ce qui se passe avant de passer la politique stricte en « reject ». Vous verrez toutes les anomalies et les oublis pour ne laisser que les mails autorisés!</p>



<h2 class="wp-block-heading">Deux type de rapports DMARC</h2>



<ul class="wp-block-list">
<li>rua : adresse à laquelle envoyer les rapports agrégés de DMARC</li>



<li>ruf : adresse à laquelle envoyer les rapports d&rsquo;erreur individuels</li>
</ul>



<p>Vous devez créer une adresse mail générique pour recevoir les rapports agrégés pour l&rsquo;analyser avec un outil interne. Souvent du style <em>d&#109;&#97;&#114;&#99;_&#114;ua&#64;mo&#110;do&#109;a&#105;n&#46;tld</em>. Il faut ensuite modifier votre champ DMARC pour lui ajouter des paramètres :</p>



<pre class="wp-block-code"><code class=""><code>_dmarc.mondomain.tld=v=DMARC1; p=none; rua=mailto:dma&#114;&#99;&#95;&#114;ua&#64;mon&#100;om&#97;in.t&#108;d; fo=1</code></code></pre>



<p>fo=1: Générez un rapport d&rsquo;échec DMARC si l&rsquo;un des mécanismes d&rsquo;authentification sous-jacents (SPF ou DKIM) produit un résultat autre que « pass » aligné. (Recommandé)</p>



<p>Exemple multi-email rua avec le séparateur virgule :</p>



<pre class="wp-block-code"><code class=""><code>v=DMARC1;p=none;rua=mailto:&#100;m&#97;r&#99;&#95;&#114;&#117;&#97;&#64;&#120;&#120;x&#46;&#98;&#114;&#117;&#115;&#115;e&#108;s,mailto:x&#120;x&#120;&#120;x&#120;x&#64;ru&#97;.eas&#121;&#100;ma&#114;&#99;&#46;u&#115;;ruf=mailto:xxxxx&#120;&#120;&#120;&#64;ru&#102;.e&#97;&#115;yd&#109;&#97;&#114;c.us;fo=1</code></code></pre>



<p>Exemple quarantaine : </p>



<pre class="wp-block-code"><code class=""><code>v=DMARC1;p=quarantine;rua=mailto:&#100;m&#97;&#114;&#99;_rua&#64;&#120;x&#120;.m&#111;ndo&#109;&#97;i&#110;&#46;tl&#100;;fo=1;</code></code></pre>



<p><a href="https://easydmarc.com/blog/what-are-dmarc-tags-dmarc-tags-explained/">Les différents type de paramètres</a></p>



<p><a href="https://dmarcly.com/blog/how-to-implement-dmarc-dkim-spf-to-stop-email-spoofing-phishing-the-definitive-guide#dmarc-reports">Plus de détail sur les rapports agrégés</a></p>



<h2 class="wp-block-heading" id="outils-danalyse-power-dmarc">Outils d&rsquo;analyse Power Dmarc en ligne</h2>



<p>J&rsquo;ai testé l&rsquo;outil en ligne Power Dmarc, il est gratuit pour un domaine en usage personnel pour 10.000 mails envoyés / mois en envoyant un mail au support très réactif.<br>En pro, cela démarre à 8$/mois pour &lt;50.000 mails/mois pour 5 domaines, <a href="https://powerdmarc.com/power-dmarc-pricing-policy/" rel="nofollow">ce qui est honnête comme tarif</a>.</p>



<p>La création du compte est assez complet et vous pouvez vérifier directement que vous avez vous champs SPF, DMARC, DKIM sont correctes.</p>



<p>Notez que le DKIM va prendre un sélecteur « automatiquement », mais pas vraiment&#8230; Sauf si vous avez 1,2,etc pour votre sélecteur.</p>



<p>Chez Infomaniak, c&rsquo;est une date au format international, il faut donc allez la renseigner sous peine d&rsquo;avoir un « faux » score négatif.</p>



<p>Pour se faire, allez dans Settings > Manage Domains :<br></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="261" height="365" src="https://www.monlinux.net/wp-content/uploads/image-57.png" alt="" class="wp-image-1985" srcset="https://www.monlinux.net/wp-content/uploads/image-57.png 261w, https://www.monlinux.net/wp-content/uploads/image-57-215x300.png 215w" sizes="auto, (max-width: 261px) 100vw, 261px" /></figure>



<p>Après avoir sélectionné votre domaine, allez mettre le sélecteur manuellement :<br></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="238" src="https://www.monlinux.net/wp-content/uploads/image-56-1024x238.png" alt="" class="wp-image-1984" srcset="https://www.monlinux.net/wp-content/uploads/image-56-1024x238.png 1024w, https://www.monlinux.net/wp-content/uploads/image-56-300x70.png 300w, https://www.monlinux.net/wp-content/uploads/image-56-768x179.png 768w, https://www.monlinux.net/wp-content/uploads/image-56-600x140.png 600w, https://www.monlinux.net/wp-content/uploads/image-56-945x220.png 945w, https://www.monlinux.net/wp-content/uploads/image-56.png 1401w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Rapport généré depuis easyDmarc</h2>



<p>Afin de montrer ce que permet la mise en place des rapports DMARC, vous voyez ici qu&rsquo;une partie non authentifiée dans le champ SPF est envoyée depuis MailChimp, typiquement le marketing qui avait mis cela en place sans avertir l&rsquo;IT.</p>



<p>Il faut régulariser cela avant de passer en mode « reject » le champ DMARC sous peine d&rsquo;avoir ces mails-là bloqués!</p>



<p>Vous voyez également un certains nombre de mail transférés vers gmail ou Infomaniak, vous devez interdire les transfert dans votre serveur de mail ou votre prestataire.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="575" height="660" src="https://www.monlinux.net/wp-content/uploads/image-58.png" alt="" class="wp-image-1986" srcset="https://www.monlinux.net/wp-content/uploads/image-58.png 575w, https://www.monlinux.net/wp-content/uploads/image-58-261x300.png 261w" sizes="auto, (max-width: 575px) 100vw, 575px" /></figure>



<p>Une fois que vous n&rsquo;avez plus que des compliants, alors vous pouvez passer le champ DMARC à « v=DMARC1; p=reject; ».</p>



<p>Si vous avez des solutions open-source pour l&rsquo;analyse des rapports XML, n&rsquo;hésitez pas à partager, c&rsquo;est une prochaine étape!</p>
<p>L’article <a href="https://www.monlinux.net/2024/05/monitoring-de-rapport-dmarc/">Monitoring de rapport DMARC</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2024/05/monitoring-de-rapport-dmarc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sécurité mail &#8211; SPF DKIM DMARC</title>
		<link>https://www.monlinux.net/2024/05/securite-mail-spf-dkim-dmarc/</link>
					<comments>https://www.monlinux.net/2024/05/securite-mail-spf-dkim-dmarc/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Wed, 08 May 2024 20:01:00 +0000</pubDate>
				<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[M365]]></category>
		<category><![CDATA[mail]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1974</guid>

					<description><![CDATA[<p>Voici quelques notes suite &#224; mes diff&#233;rentes mise en place de s&#233;curit&#233; mail avec SPF, DKIM et DMARC pour commencer. Ce sera une s&#233;rie de plusieurs articles issue de ce que j&#8217;ai fait il y a quelques ann&#233;es et des... <a class="more-link" href="https://www.monlinux.net/2024/05/securite-mail-spf-dkim-dmarc/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2024/05/securite-mail-spf-dkim-dmarc/">Sécurité mail &#8211; SPF DKIM DMARC</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Voici quelques notes suite à mes différentes mise en place de sécurité mail avec SPF, DKIM et DMARC pour commencer. Ce sera une série de plusieurs articles issue de ce que j&rsquo;ai fait il y a quelques années et des choses bien plus récentes pour sécuriser d&rsquo;avantage les mails.</p>



<h2 class="wp-block-heading" id="spf">SPF</h2>



<p>Permet de vérifier qu&rsquo;un serveur/une IP puisse envoyé des mails pour le domaine en question.</p>



<p>Ce n&rsquo;est qu&rsquo;un champ dns à ajouter.</p>



<p>Exemple : </p>



<ul class="wp-block-list">
<li>pour OVH : <code>"v=spf1 include:mx.ovh.com ~all"</code></li>



<li>pour Infomaniak : « <code>v=spf1 include:spf.infomaniak.ch include:spf.mailjet.com ~all</code>« </li>
</ul>



<p>Il signifie que les paramètres SPF à utiliser sont ceux du domaine « inclus ». <a href="https://mxtoolbox.com/SuperTool.aspx?action=SPF%3amx.ovh.com&amp;run=toolpage">Par exemple pour mx.ovh.com</a> :<br><code>text = "v=spf1 ptr:mail-out.ovh.net ptr:mail.ovh.net ip4:8.33.137.105/32 ip4:192.99.77.81/32 ?all"</code></p>



<p><strong>ATTENTION</strong> : Le champ SPF à une limite importante, il ne faut pas dépasser les 10 DNS lookups par champ SPF. Bien faire attention également à vos « include » qui peuvent en contenir eux-même également. Vous pouvez le vérifier via mxtool.com. Le code d&rsquo;erreur « PermError » peut apparaitre dans vos logs si vous dépassez cette limite.</p>



<p><a href="https://next.ink/5936/109074-emails-avec-spf-dkim-dmarc-arcet-bimi-a-quoi-ca-sert-comment-en-profiter/">Une très bonne source pour ce champ SPF</a> mais aussi les 2 éléments essentiels suivants, qui sont le minimum à mettre en place<a href="https://www.nextinpact.com/news/109074-emails-avec-spf-dkim-dmarc-arcet-bimi-a-quoi-ca-sert-comment-en-profiter.htm">.</a></p>



<h2 class="wp-block-heading" id="dkim">DKIM</h2>



<p>Permet d&rsquo;authentifier que le message est bien légitime. Pour cela, le serveur mail envoi une signature faite avec sa clé privée. Le serveur client vérifie la signature via la clé publique qui se trouve dans les DNS du domaine qui envoi le mail. Cette sécurité mail permet de s&rsquo;assurer que le message n&rsquo;a pas été altéré ou remplacé.</p>



<p>Si vous êtes chez Infomaniak, vous avez tout ce qu&rsquo;il faut de configuré.</p>



<p>Chez Microsoft, vous deviez générer une clé pour chaque domaine. Dans M365, il faut aller sur <a href="https://security.microsoft.com/">https://security.microsoft.com/</a> > Stratégies et règles > Stratégies de menace > sous Règles &#8211; Paramètres d&rsquo;authentification des e-mails > onglet DKIM</p>



<p>Pour OVH, il y a 3-4ans ce n&rsquo;était toujours pas d&rsquo;actualité&#8230;.</p>



<p>Si vous vous auto-hébergez, il faut générer une paire de clé sur : <a href="https://dkimcore.org">https://dkimcore.org</a></p>



<p>Mettre la clé privée dans le serveur mail et la clé publique dans les dns :<br><code>Key001._domainkey.mondomaine.tld.=v=DKIM1;p=xxxxxxxxxxx</code><br>Selector Key001</p>



<p>publier la clé dans les dns, à faire chez votre registar dns si vous êtes en auto-hébergé ou chez microsoft:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="254" height="101" src="https://www.monlinux.net/wp-content/uploads/image-54.png" alt="" class="wp-image-1975"/></figure>



<p><a href="https://dmarcly.com/blog/how-to-implement-dmarc-dkim-spf-to-stop-email-spoofing-phishing-the-definitive-guide">source bien détaillée</a></p>



<p>Si vous êtres chez Microsoft, je vous conseille aussi <a href="https://www.monlinux.net/2023/04/relais-mail-postfix-envoyer-ses-mails-securises-vers-m365/">d&rsquo;utiliser leur relay pour envoyés vos mails serveurs et applicatif signé par le DKIM</a>.</p>



<h2 class="wp-block-heading" id="dmarc">DMARC</h2>



<p>Champ txt permettant de dire aux serveurs mails distants quoi faire avec les mails incorrectement reçu de leur domaine.<br>3 possibilités :</p>



<ul class="wp-block-list">
<li>Rejeter (Reject)</li>



<li>Ne rien faire (none)</li>



<li>Considérer comme suspect (quarantine) pour que les mails usurpés se mettent dans les spam des destinataire mais ne sont pas supprimé</li>
</ul>



<p>Exemple de record pour commencer :<br><code>_dmarc.mondomain.tld=v=DMARC1; p=none;</code></p>



<p><code>_dmarc.mondomain.tld= v=DMARC1; p=quarantine;sp=quarantine</code></p>



<ul class="wp-block-list">
<li>p: Appliquez cette politique aux e-mails qui échouent au contrôle DMARC. Cette politique peut être définie sur &lsquo;none&rsquo; (aucune), &lsquo;quarantine&rsquo; (quarantaine) ou &lsquo;reject&rsquo; (rejet). &lsquo;none&rsquo; est utilisé pour collecter le rapport DMARC et obtenir un aperçu des flux d&rsquo;e-mails actuels et de leur statut ;</li>



<li>sp: Cette politique doit être appliquée aux e-mails provenant d&rsquo;un sous-domaine de ce domaine qui échouent au contrôle DMARC. En utilisant cette balise, les propriétaires de domaine peuvent publier une politique &lsquo;générique&rsquo; pour tous les sous-domaines ;</li>
</ul>



<p>Si votre infrastructure est utilisée et que vous ne savez pas si des personnes de votre entreprise utilise des systèmes de newsletter tel que mailchimp, mailjet, etc ou que vous avez peut-être des serveurs utilisés ailleurs que sur votre infrastructure, je vous conseille de commencer par un « none » ou un « quarantine ».</p>



<p>Vous pourrez ensuite mettre en place du monitoring de rapport DMARC pour voir si tout est ok avant de passé à « reject » comme politique. </p>



<p>Si vous maîtrisez tout, faites quelques tests en « quarantine » durant quelques semaines avant de passer à « reject ».</p>



<p>Vous avez là un bon bagage pour la sécurité mail, et pour aller plus loin, je vous conseille <a href="https://next.ink/5936/109074-emails-avec-spf-dkim-dmarc-arcet-bimi-a-quoi-ca-sert-comment-en-profiter/">l&rsquo;article de nextinpact sur le sujet</a> ou <a href="https://learn.microsoft.com/fr-fr/microsoft-365/security/office-365-security/email-authentication-dmarc-configure?view=o365-worldwide">microsoft avec méthode d&rsquo;introduction</a>.</p>
<p>L’article <a href="https://www.monlinux.net/2024/05/securite-mail-spf-dkim-dmarc/">Sécurité mail &#8211; SPF DKIM DMARC</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2024/05/securite-mail-spf-dkim-dmarc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mysqldump benchmark compression</title>
		<link>https://www.monlinux.net/2024/02/mysqldump-benchmark-compression/</link>
					<comments>https://www.monlinux.net/2024/02/mysqldump-benchmark-compression/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Thu, 22 Feb 2024 17:20:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[mysql]]></category>
		<guid isPermaLink="false">http://www.monlinux.net/?p=1067</guid>

					<description><![CDATA[<p>Mysqldump tout le monde l&#8217;utilise pour exporter des donn&#233;es MySQL. Cependant, le volume de donn&#233;es g&#233;n&#233;r&#233; par Mysqldump peut rapidement devenir consid&#233;rable. Il est tr&#232;s utile de pouvoir compresser ces dump pour r&#233;duire leur taille, mais sans avoir des pertes... <a class="more-link" href="https://www.monlinux.net/2024/02/mysqldump-benchmark-compression/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2024/02/mysqldump-benchmark-compression/">Mysqldump benchmark compression</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Mysqldump tout le monde l&rsquo;utilise pour exporter des données MySQL. Cependant, le volume de données généré par Mysqldump peut rapidement devenir considérable. Il est très utile de pouvoir compresser ces dump pour réduire leur taille, mais sans avoir des pertes de performances inutiles. J&rsquo;ai mesuré l&rsquo;impact de différentes méthodes de compression gzip, pigz, xz et pixz. Afin de mettre en lumière les performances de Mysqldump et les gains en termes d&rsquo;espace de stockage.</p>



<span id="more-1067"></span>



<h2 class="wp-block-heading">Protocole de test</h2>



<ul class="wp-block-list">
<li>Une base de données de dump brute de 7Go avec innodb a été utilisée</li>



<li>Cela tourne sous MySQL 5.7, c&rsquo;est une veille app comme il en reste beaucoup. Il faudra tester également avec MySQL 8.0.</li>



<li>VM sous ESXi avec 12 vCPU intel Xeon qui ont 5ans.</li>
</ul>



<h3 class="wp-block-heading">Compressions utilisées</h3>



<p>La compression de texte se passant mal pour bzip2, je l&rsquo;ai d&rsquo;office exclus. J&rsquo;envisage donc Gzip et XZ. Il y a le monde un seul thread avec :</p>



<ul class="wp-block-list">
<li>Gzip</li>



<li>XZ</li>
</ul>



<p>Et multi-thread avec : </p>



<ul class="wp-block-list">
<li>pigz</li>



<li>pixz</li>
</ul>



<p>Quand il n&rsquo;y a plus de gain selon le niveau de compression (pouvant aller de 1 à 9), j&rsquo;arrête les tests inutiles.</p>



<h2 class="wp-block-heading">Tableau benchmark compression Mysqldump</h2>



<p>Pour Gzip, il n&rsquo;y a plus de gain de taille après une compression de 7.</p>



<p>Pour XZ, il n&rsquo;y a plus de gain de taille après un niveau de 5.</p>



<figure class="wp-block-table"><table><tbody><tr><td rowspan="3">Algorithme</td><td rowspan="3">Proc</td><td colspan="5">Compression</td><td colspan="2">Décompression</td></tr><tr><td rowspan="2">Niveau</td><td>Taille</td><td rowspan="2">Ratio</td><td rowspan="2">Temps (min)</td><td>Vitesse</td><td>Temps</td><td>Vitesse</td></tr><tr><td>(Mo)</td><td>(Mo/s)</td><td>(min)</td><td>(Mo/s)</td></tr><tr><td rowspan="3">gzip</td><td rowspan="3">1</td><td>3</td><td>1291</td><td>18,06%</td><td>2,82</td><td>42,30</td><td>1,93</td><td>61,62</td></tr><tr><td>5</td><td>1143</td><td>15,99%</td><td>3,70</td><td>32,20</td><td>1,52</td><td>78,55</td></tr><tr><td>7</td><td>1115</td><td>15,60%</td><td>5,53</td><td>21,53</td><td>1,43</td><td>83,12</td></tr><tr><td rowspan="9">pigz</td><td rowspan="3">2</td><td>3</td><td>1287</td><td>18,01%</td><td>1,62</td><td>73,69</td><td>1,65</td><td>72,20</td></tr><tr><td>5</td><td>1143</td><td>15,99%</td><td>1,98</td><td>60,07</td><td>1,55</td><td>76,86</td></tr><tr><td>7</td><td>1115</td><td>15,60%</td><td>2,73</td><td>43,59</td><td>1,57</td><td>76,04</td></tr><tr><td rowspan="3">3</td><td>3</td><td>1287</td><td>18,01%</td><td>1,38</td><td>86,12</td><td>1,38</td><td>86,12</td></tr><tr><td>5</td><td>1143</td><td>15,99%</td><td>2,17</td><td>54,98</td><td>1,53</td><td>77,70</td></tr><tr><td>7</td><td>1115</td><td>15,60%</td><td>2,30</td><td>51,80</td><td>1,6</td><td>74,46</td></tr><tr><td rowspan="3">4</td><td>3</td><td>1287</td><td>18,01%</td><td>1,45</td><td>82,16</td><td>1,40</td><td>85,10</td></tr><tr><td>5</td><td>1143</td><td>15,99%</td><td>1,63</td><td>72,94</td><td>1,62</td><td>73,69</td></tr><tr><td>7</td><td>1115</td><td>15,60%</td><td>1,87</td><td>63,82</td><td>1,55</td><td>76,86</td></tr><tr><td colspan="10">&nbsp;</td></tr><tr><td rowspan="3">xz</td><td rowspan="3">1</td><td>1</td><td>841</td><td>11,77%</td><td>8,52</td><td>13,99</td><td>2,4</td><td>49,64</td></tr><tr><td>3</td><td>771</td><td>10,79%</td><td>24,25</td><td>4,91</td><td>1,73</td><td>68,73</td></tr><tr><td>5</td><td>680</td><td>9,51%</td><td>56,13</td><td>2,12</td><td>1,63</td><td>72,94</td></tr><tr><td rowspan="12">pixz</td><td rowspan="2"><strong>2</strong></td><td><strong>1</strong></td><td><strong>841</strong></td><td><strong>11,77%</strong></td><td><strong>8,07</strong></td><td>14,77</td><td>1,62</td><td>73,69</td></tr><tr><td>3</td><td>771</td><td>10,79%</td><td>17,32</td><td>6,88</td><td>1,72</td><td>69,40</td></tr><tr><td rowspan="2">3</td><td>1</td><td>841</td><td>11,77%</td><td>9,07</td><td>13,14</td><td>3,13</td><td>38,02</td></tr><tr><td>3</td><td>771</td><td>10,79%</td><td>26,90</td><td>4,43</td><td>3,03</td><td>39,27</td></tr><tr><td rowspan="4">4</td><td>1</td><td>841</td><td>11,77%</td><td>8,82</td><td>13,51</td><td>1,98</td><td>60,07</td></tr><tr><td>3</td><td>771</td><td>10,79%</td><td>19,22</td><td>6,20</td><td>2,00</td><td>59,57</td></tr><tr><td>4</td><td>768</td><td>10,74%</td><td>31,03</td><td>3,84</td><td>1,97</td><td>60,58</td></tr><tr><td>5</td><td>680</td><td>9,51%</td><td><span style="color: #ff0000;">47,73</span></td><td>2,50</td><td>1,92</td><td>62,16</td></tr><tr><td rowspan="2"><strong>5</strong></td><td>1</td><td>841</td><td>11,77%</td><td>8,12</td><td>14,68</td><td>2,98</td><td>39,93</td></tr><tr><td><strong>3</strong></td><td><strong>771</strong></td><td><strong>10,79%</strong></td><td><strong>17,38</strong></td><td>6,85</td><td>3,02</td><td>39,49</td></tr><tr><td rowspan="2">6</td><td>1</td><td>841</td><td>11,77%</td><td>8,00</td><td>14,89</td><td>2,58</td><td>46,12</td></tr><tr><td>3</td><td>771</td><td>10,79%</td><td>17,08</td><td>6,97</td><td>2,07</td><td>57,65</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Résultats de compression Mysqldump</h3>



<p>Le meilleur temps qui ne consomme pas trop de ressources, c&rsquo;est <strong>pigz avec 4 threads et une compression de niveau 3</strong>. La compression est très bonne un niveau 7, mais 3% de taille en moins pour 28% de temps en plus, est-ce utile ? Vous savez quoi utilise pour gagner 5,5x l&rsquo;espace disque en impactant très peu la charge CPU.</p>



<p>Comme vous pouvez le voir, il y a deux options si vous avez besoin d&rsquo;archiver à long terme beaucoup de données :</p>



<ul class="wp-block-list">
<li>soit vous cherchez la rapidité et avoir un gain important de place par rapport à gzip et vous utiliserez pixz avec un niveau 1 de compression et 2 processus.</li>



<li>soit vous cherchez une compression importante et vous utiliserez <strong>pixz avec un niveau 3 de compression et 5 processus</strong>. Un niveau plus haut que 3 ne sert à rien, trop de temps perdu pour un gain minime de compression, comme on peut le voir avec un niveau 5</li>
</ul>



<p>Si vous avez une architecture master/slave MySQL, je vous conseille de le faire sur votre slave pour éviter les lock tables sur votre master.</p>



<p>J&rsquo;ai effectué un comparatif également pour <a href="https://www.monlinux.net/2017/11/xtrabackup-benchmark-compression-mysql/">les backups compressés d&rsquo;XtraBackup</a>.</p>
<p>L’article <a href="https://www.monlinux.net/2024/02/mysqldump-benchmark-compression/">Mysqldump benchmark compression</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2024/02/mysqldump-benchmark-compression/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Recherche rapide windows avec Everything et Flow Launcher</title>
		<link>https://www.monlinux.net/2024/02/recherche-rapide-windows-avec-everything-et-flow-launcher/</link>
					<comments>https://www.monlinux.net/2024/02/recherche-rapide-windows-avec-everything-et-flow-launcher/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Thu, 15 Feb 2024 07:22:51 +0000</pubDate>
				<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1943</guid>

					<description><![CDATA[<p>Marre de perdre du temps pour trouver un fichier avec une recherche windows ?De la batterie du portable qui s&#8217;essouffle ? Windows search y est pour quelque chose en plus d&#8217;&#234;tre &#171;&#160;pourri&#160;&#187; tout simplement. Avec Everything et Flow Launcher, vous... <a class="more-link" href="https://www.monlinux.net/2024/02/recherche-rapide-windows-avec-everything-et-flow-launcher/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2024/02/recherche-rapide-windows-avec-everything-et-flow-launcher/">Recherche rapide windows avec Everything et Flow Launcher</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Marre de perdre du temps pour trouver un fichier avec une recherche windows ?<br>De la batterie du portable qui s’essouffle ? Windows search y est pour quelque chose en plus d&rsquo;être « pourri » tout simplement.</p>



<p>Avec Everything et Flow Launcher, vous avez le combo gagnant pour une recherche windows rapide et pertinante&#8230; Surtout&#8230;</p>



<h2 class="wp-block-heading">Installation</h2>



<p>Via winget : <code>winget install Flow-Launcher.Flow-Launcher voidtools.Everything</code><br>Via les sites officiels : <a href="https://www.voidtools.com/downloads/">everything</a> et <a href="https://github.com/Flow-Launcher/Flow.Launcher/releases">flow-launcher</a></p>



<h2 class="wp-block-heading">Configurer Everything</h2>



<h3 class="wp-block-heading">Désactiver l&rsquo;indexation de tous les drives</h3>



<p>Dans les options d&rsquo;Everything, allez dans Indexes &gt; NTFS</p>



<ol class="wp-block-list">
<li>Retirer les automatismes</li>



<li>pour chaque volume actuel, décocher Include in database et appliquer</li>
</ol>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="478" height="278" src="https://www.monlinux.net/wp-content/uploads/image-53.png" alt="" class="wp-image-1954" srcset="https://www.monlinux.net/wp-content/uploads/image-53.png 478w, https://www.monlinux.net/wp-content/uploads/image-53-300x174.png 300w" sizes="auto, (max-width: 478px) 100vw, 478px" /></figure>



<p>Dans Indexes &gt; Folders :</p>



<ol class="wp-block-list">
<li>Ajouter vos répertoires de documents, vos nextcloud, vos onedrive</li>



<li>Pour chacun d&rsquo;entre eux, planifier un scan à une heure où le pc est allumé, comme à midi</li>



<li>scanner tout</li>
</ol>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="482" height="470" src="https://www.monlinux.net/wp-content/uploads/image-43.png" alt="" class="wp-image-1944" srcset="https://www.monlinux.net/wp-content/uploads/image-43.png 482w, https://www.monlinux.net/wp-content/uploads/image-43-300x293.png 300w" sizes="auto, (max-width: 482px) 100vw, 482px" /></figure>



<h2 class="wp-block-heading">Arrêter la recherche windows indexed</h2>



<p>Aller dans Windows Search settings &gt; Advanced Search indexer Settings &gt; Modify et retirez tous les disques, laissez Start Menu histoire de garder quelques chose si Microsoft pousse une mise à jour qui réactiverait l&rsquo;indexation <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="400" height="575" src="https://www.monlinux.net/wp-content/uploads/image-44.png" alt="" class="wp-image-1945" style="aspect-ratio:0.6956521739130435;width:282px;height:auto" srcset="https://www.monlinux.net/wp-content/uploads/image-44.png 400w, https://www.monlinux.net/wp-content/uploads/image-44-209x300.png 209w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure>



<p>Arrêtez le service d&rsquo;indexation via <code>services.msc</code></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="732" src="https://www.monlinux.net/wp-content/uploads/image-45-1024x732.png" alt="" class="wp-image-1946" srcset="https://www.monlinux.net/wp-content/uploads/image-45-1024x732.png 1024w, https://www.monlinux.net/wp-content/uploads/image-45-300x214.png 300w, https://www.monlinux.net/wp-content/uploads/image-45-768x549.png 768w, https://www.monlinux.net/wp-content/uploads/image-45-600x429.png 600w, https://www.monlinux.net/wp-content/uploads/image-45-945x675.png 945w, https://www.monlinux.net/wp-content/uploads/image-45.png 1285w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">configurer Flow launcher</h2>



<p>Au lancement, suivez les instructions</p>



<p>Choisissez une raccourci non utilisé, dans mon cas, ALT+F :<br></p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="550" height="650" src="https://www.monlinux.net/wp-content/uploads/image-47.png" alt="" class="wp-image-1948" style="aspect-ratio:0.8461538461538461;width:432px;height:auto" srcset="https://www.monlinux.net/wp-content/uploads/image-47.png 550w, https://www.monlinux.net/wp-content/uploads/image-47-254x300.png 254w" sizes="auto, (max-width: 550px) 100vw, 550px" /></figure>



<p><br>Activer Flow Launcher au démarrage :<br></p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="550" height="650" src="https://www.monlinux.net/wp-content/uploads/image-48.png" alt="" class="wp-image-1949" style="aspect-ratio:0.8461538461538461;width:425px;height:auto" srcset="https://www.monlinux.net/wp-content/uploads/image-48.png 550w, https://www.monlinux.net/wp-content/uploads/image-48-254x300.png 254w" sizes="auto, (max-width: 550px) 100vw, 550px" /></figure>



<p>Allez dans les settings de Flow Launcher &gt; Plugins Explorer :<br></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1000" height="675" src="https://www.monlinux.net/wp-content/uploads/image-49.png" alt="" class="wp-image-1950" srcset="https://www.monlinux.net/wp-content/uploads/image-49.png 1000w, https://www.monlinux.net/wp-content/uploads/image-49-300x203.png 300w, https://www.monlinux.net/wp-content/uploads/image-49-768x518.png 768w, https://www.monlinux.net/wp-content/uploads/image-49-600x405.png 600w, https://www.monlinux.net/wp-content/uploads/image-49-945x638.png 945w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure>



<p><br>Dans l&rsquo;onglet Everything Settings, indiquez le chemin du bin d&rsquo;everything : <code>C:\Program Files\Everything\Everything.exe</code><br></p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="766" height="314" src="https://www.monlinux.net/wp-content/uploads/image-50.png" alt="" class="wp-image-1951" style="aspect-ratio:2.4394904458598727;width:620px;height:auto" srcset="https://www.monlinux.net/wp-content/uploads/image-50.png 766w, https://www.monlinux.net/wp-content/uploads/image-50-300x123.png 300w, https://www.monlinux.net/wp-content/uploads/image-50-600x246.png 600w" sizes="auto, (max-width: 766px) 100vw, 766px" /></figure>



<p><br>Dans l&rsquo;onglet General Setting</p>



<ul class="wp-block-list">
<li>sélectionnez <code>Everything</code> au lieu de <code>Windows Index</code> pour la recherche</li>



<li>Allez désactiver l&rsquo;indexation windows si ce n&rsquo;est déjà fait</li>



<li>Dans mon cas j&rsquo;utilise le launcher en priorité pour les recherches de fichiers, donc je veux que les résultats de ce plugin soit en haut de la liste, priorité 5</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="432" src="https://www.monlinux.net/wp-content/uploads/image-51-1024x432.png" alt="" class="wp-image-1952" srcset="https://www.monlinux.net/wp-content/uploads/image-51-1024x432.png 1024w, https://www.monlinux.net/wp-content/uploads/image-51-300x127.png 300w, https://www.monlinux.net/wp-content/uploads/image-51-768x324.png 768w, https://www.monlinux.net/wp-content/uploads/image-51-600x253.png 600w, https://www.monlinux.net/wp-content/uploads/image-51-945x399.png 945w, https://www.monlinux.net/wp-content/uploads/image-51.png 1471w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Enjoy avec ALT+F</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="580" height="181" src="https://www.monlinux.net/wp-content/uploads/image-52.png" alt="" class="wp-image-1953" style="aspect-ratio:3.2044198895027622;width:374px;height:auto" srcset="https://www.monlinux.net/wp-content/uploads/image-52.png 580w, https://www.monlinux.net/wp-content/uploads/image-52-300x94.png 300w" sizes="auto, (max-width: 580px) 100vw, 580px" /></figure>
<p>L’article <a href="https://www.monlinux.net/2024/02/recherche-rapide-windows-avec-everything-et-flow-launcher/">Recherche rapide windows avec Everything et Flow Launcher</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2024/02/recherche-rapide-windows-avec-everything-et-flow-launcher/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tasmota et MQTT &#8211; MQTTS</title>
		<link>https://www.monlinux.net/2023/11/tasmota-et-mqtt-mqtts/</link>
					<comments>https://www.monlinux.net/2023/11/tasmota-et-mqtt-mqtts/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Thu, 23 Nov 2023 21:44:00 +0000</pubDate>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[domotique]]></category>
		<category><![CDATA[MQTT]]></category>
		<category><![CDATA[tasmota]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1930</guid>

					<description><![CDATA[<p>Suite de l&#8217;article sur MQTT et la configuration de Mosquitto avec MQTTS, Voici l&#8217;utilisation avec Tasmota pour les c&#233;l&#232;bres ESP32. Explication du prefix dans Tasmota %prefix%Tasmota uses 3 prefixes for forming a FullTopic: The order of %prefix% and %topic% doesn&#8217;t... <a class="more-link" href="https://www.monlinux.net/2023/11/tasmota-et-mqtt-mqtts/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2023/11/tasmota-et-mqtt-mqtts/">Tasmota et MQTT &#8211; MQTTS</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Suite de <a href="https://www.monlinux.net/2023/10/mqtt-broker/">l&rsquo;article sur MQTT</a> et la configuration de <a href="https://www.monlinux.net/2023/11/mqtts-securiser-mosquitto-mqtt/">Mosquitto avec MQTTS</a>, Voici l&rsquo;utilisation avec Tasmota pour les célèbres ESP32.</p>



<h2 class="wp-block-heading">Explication du prefix dans Tasmota</h2>



<p>%prefix%<br>Tasmota uses 3 prefixes for forming a FullTopic:</p>



<ul class="wp-block-list">
<li>cmnd &#8211; prefix to issue commands; ask for status</li>



<li>stat &#8211; reports back status or configuration message</li>



<li>tele &#8211; reports telemetry info at specified intervals</li>
</ul>



<p>The order of %prefix% and %topic% doesn&rsquo;t matter, unless you have enabled Auto-discovery for Home Assistant (SetOption19). Enabling this option re-formats the FullTopic to required order.</p>



<p>Using the tokens the following example topics can be made:</p>



<ul class="wp-block-list">
<li>FullTopic %prefix%/%topic%/ default</li>



<li>FullTopic tasmota/%topic%/%prefix%/</li>



<li>FullTopic tasmota/bedroom/%topic%/%prefix%/</li>



<li>FullTopic penthouse/bedroom1/bathroom2/%topic%/%prefix%/</li>



<li>FullTopic %prefix%/home/cellar/%topic%/</li>
</ul>



<p>Dans jeedom détection automatique des commandes info avec leur nom via cela dans jmqtt : exemple le nom POWER est pris pour <code>stat/ip/espcam-laser/POWER</code></p>



<p>Une explication complète <a href="https://tasmota.github.io/docs/MQTT/#command-flow">de la gestion d&rsquo;arborescence MQTT pour Tasmota</a> est expliquée sur le site officiel.</p>



<h2 class="wp-block-heading">Configurer Tasmota pour joindre Mosquitto en MQTTS</h2>



<p>Pour configurer MQTTS sur un ESP32 déjà configuré sur votre wifi, vous devez indiquer plusieurs champs dans le menu <code>Configuration > Configure MQTT</code></p>



<ul class="wp-block-list">
<li>le DNS ou IP de votre serveur MQTT (Jeedom)</li>



<li>le port MQTTS 8883 (et pas MQTT 1883)</li>



<li>Cocher la case « MQTT TLS »</li>



<li>laisser le client</li>



<li>Indiqué l&rsquo;utilisateur / mot de passe que vous avez configuré dans Mosquitto</li>



<li>Indiquez le Topic, un nom reconnaissable</li>



<li>Pour le Full Topic, veuillez à bien utiliser %topic% et %prefix%, je vous donne un exemple suivant mon arborescence protocole/piece/nom/#</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="356" height="762" src="https://www.monlinux.net/wp-content/uploads/image-42.png" alt="menu de configuration Tasmota pour MQTT" class="wp-image-1931" srcset="https://www.monlinux.net/wp-content/uploads/image-42.png 356w, https://www.monlinux.net/wp-content/uploads/image-42-140x300.png 140w" sizes="auto, (max-width: 356px) 100vw, 356px" /></figure>



<p>Une fois sauvegardé, vos allez voir dans la Console que votre ESP32 ne peut joindre votre serveur Mosquitto. <strong>C&rsquo;est normal</strong> : de base Tasmota ne fait confiance qu&rsquo;aux certificats d’autorité de certification (CA) et pas aux certificats auto-signé. <a href="https://tasmota.github.io/docs/TLS/">Plus d&rsquo;informations dans la documentation</a>.</p>



<p>Il est prévu dans Tasmota de faire confiance <strong>la première fois uniquement</strong> à un certificat auto-signé. Si celui-ci change par la suite, Tasmota refusera de s&rsquo;y connecter! Très pratique dans notre cas, car toujours faire confiance à un certificat non signé quelconque, ce serait une passoire pour du <a href="https://fr.wikipedia.org/wiki/Attaque_de_l%27homme_du_milieu">main in the middle</a>.</p>



<p>Pour activer cela, il faut activer l&rsquo;option suivante via la console : </p>



<pre class="wp-block-code"><code class="">SetOption132 1</code></pre>



<h3 class="wp-block-heading">Erreur possible</h3>



<p>Si une erreur dans les logs de ce type, c&rsquo;est une erreur TCP de connexion, vérifier que ce n&rsquo;est pas un problème de firewall : <code>MQT: TLS connection error: -1002]</code></p>
<p>L’article <a href="https://www.monlinux.net/2023/11/tasmota-et-mqtt-mqtts/">Tasmota et MQTT &#8211; MQTTS</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2023/11/tasmota-et-mqtt-mqtts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MQTTS sécuriser Mosquitto MQTT</title>
		<link>https://www.monlinux.net/2023/11/mqtts-securiser-mosquitto-mqtt/</link>
					<comments>https://www.monlinux.net/2023/11/mqtts-securiser-mosquitto-mqtt/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Wed, 08 Nov 2023 22:04:00 +0000</pubDate>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[domotique]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MQTT]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1924</guid>

					<description><![CDATA[<p>Il est important de savoir que laisser communiquer en clair son IoT de sa domotique n&#8217;est pas DU TOUT conseill&#233;. C&#8217;est important de s&#233;curiser plusieurs choses apr&#232;s avoir compris les bases de MQTT : Vous devez faire le bon compromis... <a class="more-link" href="https://www.monlinux.net/2023/11/mqtts-securiser-mosquitto-mqtt/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2023/11/mqtts-securiser-mosquitto-mqtt/">MQTTS sécuriser Mosquitto MQTT</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Il est important de savoir que laisser communiquer en clair son IoT de sa domotique n&rsquo;est pas DU TOUT conseillé. C&rsquo;est important de sécuriser plusieurs choses <a href="https://www.monlinux.net/2023/10/mqtt-broker/">après avoir compris les bases de MQTT</a> : </p>



<ul class="wp-block-list">
<li>L&rsquo;identification du serveur et la sécurisation du flux</li>



<li>L&rsquo;identification du client</li>



<li>L&rsquo;authentification du client</li>
</ul>



<p>Vous devez faire le bon compromis entre sécurité et flexibilité. Il ne faut pas forcément pousser le bouton à fond pour tous les cas de figures.</p>



<h2 class="wp-block-heading">Génération des clés et certificats</h2>



<p>Pour MQTTS, 2 options s&rsquo;offre à vous comme pour un serveur HTTPS : </p>



<ul class="wp-block-list">
<li>générer vos certificats auto-signé</li>



<li>via une autorité de certification</li>
</ul>



<p>Dans mon cas ce n&rsquo;est que du local, ce sera donc de l&rsquo;auto-signé.</p>



<p>Je génère toujours les clés et certificats sur ma machine perso et ensuite je copie les certificats/clés sur le serveur et les clients, afin de les archiver. C&rsquo;est donc à faire dans un dossier à garder sous Linux ou en WSL sous Windows.</p>



<p>Veillez bien à remplacer les DNS suivants par votre domaine externe pointant sur votre serveur ainsi que votre DNS interne ou IP interne pour joindre votre serveur MQTT (dans mon cas installé sur mon serveur Jeedom) : <code>DNS:jeedom.YOURDOMAIN.TLD,DNS:jeedom.home</code></p>



<pre class="wp-block-code"><code class="">mkdir ca broker clients

<em>#CA</em>
openssl genrsa -out ca/ca.key 2048
openssl req -new -x509 -days 9999 -subj "/C=BE/CN=<mark>MQTT</mark>-CA/O=home" -key ca/ca.key -out ca/ca.crt

<em>#broker</em>
openssl genrsa -out broker/mosquitto.key 2048
openssl req -new -subj "/C=BE/O=home/CN=<mark>MQTT</mark>-mosquitto" -key broker/mosquitto.key -out broker/mosquitto.csr
openssl x509 -req -extfile &lt;(printf "subjectAltName = DNS:jeedom.YOURDOMAIN.TLD,DNS:jeedom.home,DNS:localhost,IP:127.0.0.1,IP:::1") -in broker/mosquitto.csr
 -CA ca/ca.crt -CAkey ca/ca.key -CAcreateserial -out broker/mosquitto.crt -days 9999 -sha256
 
<em>#client</em> (facultatif) si on souhaite une authentification par certificat du client au lieu de password
openssl genrsa -out clients/local-tasmotas.key 2048
openssl req -new -subj "/C=BE/O=home/CN=<mark>MQTT</mark>-client-tasmotas" -key clients/local-tasmotas.key -out clients/local-tasmotas.csr
openssl x509 -req -in clients/local-tasmotas.csr -CA ca/ca.crt -CAkey ca/ca.key -CAcreateserial -out clients/local-tasmotas.crt -days 9999 -sha256</code></pre>



<h2 class="wp-block-heading" id="côté-broker">MQTTS côté broker Mosquitto</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Les certificats et clés privées doivent être archivés, ils ne le sont pas dans le backup Jeedom.</p>
</blockquote>



<p>La configuration de base du fichier Debian est : /etc/mosquitto/mosquitto.conf </p>



<pre class="wp-block-code"><code class=""># Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /var/run/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d</code></pre>



<p>C&rsquo;est conseillé d&rsquo;utiliser un fichier dans conf.d : dans mon cas sous Jeedom avec l&rsquo;installation du plugin jMQTT, le fichier suivant est créé et sera utilisé : <code>/etc/mosquitto/conf.d/jMQTT.conf</code></p>



<p>Copie des fichiers nécessaires du broker sur le serveur Jeedom :</p>



<pre class="wp-block-code"><code class="">scp ca/ca.crt broker/mosquitto.crt broker/mosquitto.key jeedom:
ssh jeedom
sudo mv ca.crt mosquitto.crt mosquitto.key /etc/mosquitto/certs/
ls -l /etc/mosquitto/certs</code></pre>



<p>Editer via l&rsquo;interface web la configuration du fichier jMQTT.conf ou via vim <code>/etc/mosquitto/conf.d/jMQTT.conf</code></p>



<ul class="wp-block-list">
<li>on laisse les connexions en clair du port 1883 provenant de localhost uniquement (127.0.0.1), <strong>plus d&rsquo;accès en clair depuis l&rsquo;extérieur</strong> (sert pour jeedom se connecter au broker Mosquitto)</li>



<li>on active le port TLS 8883 sur toutes les interfaces</li>
</ul>



<pre class="wp-block-code"><code class=""><em># jMQTT Mosquitto configuration file</em>
listener 1883 127.0.0.1
allow_anonymous true

<em># jMQTTS</em>
listener 8883 0.0.0.0
protocol <mark>mqtt</mark>
cafile /etc/mosquitto/certs/ca.crt
certfile /etc/mosquitto/certs/mosquitto.crt
keyfile /etc/mosquitto/certs/mosquitto.key

<em># Only allow clients with a valid certificat (false to only trus the broker and not the clients)</em>
require_certificate true


</code></pre>



<p>Rédémarrez le service et vérifier que le port 8883 est ouvert pour tous et 1883 n&rsquo;est plus accessible que par 127.0.0.1 :</p>



<pre class="wp-block-code"><code class="">sudo systemctl restart mosquitto.service
sudo ss -tlpn | egrep '(1883|8883)'
LISTEN    0         100                0.0.0.0:8883             0.0.0.0:*        users:(("mosquitto",pid=14185,fd=6))
LISTEN    0         100              127.0.0.1:1883             0.0.0.0:*        users:(("mosquitto",pid=14185,fd=5))</code></pre>



<p>A ce moment là, le trafic entre nos clients et notre serveur est sécurisé. Mais n&rsquo;importe quel client peut se connecter à notre serveur sans mot de passe!</p>



<p>Basé sur <a href="https://domotruc.github.io/jMQTT/fr_FR/" target="_blank" rel="noreferrer noopener">la documentation jMQTT officielle</a>, d&rsquo;autres informations et <a href="https://openest.io/linux-embarque/communication-linux/chiffrement-communication-mqtt-tls-ssl-mosquitto-et-paho/">erreurs courantes sont disponibles sur ce blog</a>.</p>



<h1 class="wp-block-heading" id="authentification">Authentification</h1>



<p>Mes clients étant des ESP32 qui disposent de Wifi ou mon pc avec MQTT explorer pour le debug, tout en local, une authentification par mot de passe est suffisante. Je distingue les clients IoT avec un seul mot de passe et mes 2 pc avec chacun un mot de passe différent.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Pour un serveur MQTTS publique, l&rsquo;authentification des clients par certificat est recommandé</p>
</blockquote>



<ol class="wp-block-list">
<li>Créer les fichiers de mot de passe :&nbsp;<code>mosquitto_passwd -c &lt;password file&gt; &lt;username&gt;</code><br>sudo mosquitto_passwd -c /etc/mosquitto/distant.passwd tasmota</li>



<li>Configurer le broker avec la ligne :&nbsp;<code>password_file &lt;path to the configuration file&gt;</code></li>



<li>Ajout d&rsquo;un second utilisateur&nbsp;<code>sudo mosquitto_passwd /etc/mosquitto/distant.passwd hp</code></li>



<li>Redémarrer :&nbsp;<code>sudo systemctl restart mosquitto.service</code></li>
</ol>



<p>Le fichier <code>/etc/mosquitto/conf.d/jMQTT.conf</code></p>



<pre class="wp-block-code"><code class="">per_listener_settings true

# jMQTT Mosquitto configuration file
listener 1883 127.0.0.1
allow_anonymous true

# jMQTTS
listener 8883 0.0.0.0
protocol mqtt
cafile /etc/mosquitto/certs/ca.crt
certfile /etc/mosquitto/certs/mosquitto.crt
keyfile /etc/mosquitto/certs/mosquitto.key
allow_anonymous false
persistence false
require_certificate false
password_file /etc/mosquitto/distant.passwd</code></pre>



<p>Si vous préférez utiliser un mot de passe pour Jeedom en local, selon si le plugin vous l&rsquo;impose, vous pouvez le faire : </p>



<pre class="wp-block-code"><code class="">per_listener_settings true

# jMQTT Mosquitto configuration file
listener 1883 127.0.0.1
allow_anonymous false
persistence false
password_file /etc/mosquitto/local.passwd

# jMQTTS
listener 8883 0.0.0.0
protocol mqtt
cafile /etc/mosquitto/certs/ca.crt
certfile /etc/mosquitto/certs/mosquitto.crt
keyfile /etc/mosquitto/certs/mosquitto.key
allow_anonymous false
persistence false
require_certificate false
password_file /etc/mosquitto/distant.passwd</code></pre>



<p><a href="https://mosquitto.org/documentation/authentication-methods/">source</a></p>
<p>L’article <a href="https://www.monlinux.net/2023/11/mqtts-securiser-mosquitto-mqtt/">MQTTS sécuriser Mosquitto MQTT</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2023/11/mqtts-securiser-mosquitto-mqtt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Mise en cache de page à l’aide de Disk: Enhanced 
Mise en cache de la base de données de 33/85 requêtes en 0.071 secondes utilisant Disk

Served from: www.monlinux.net @ 2026-04-08 04:14:01 by W3 Total Cache
-->