<?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>Sécurité Archives - Mon linux</title>
	<atom:link href="https://www.monlinux.net/category/security/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.monlinux.net/category/security/</link>
	<description>by Belgotux</description>
	<lastBuildDate>Fri, 10 May 2024 12:25:42 +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>Sécurité Archives - Mon linux</title>
	<link>https://www.monlinux.net/category/security/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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 fetchpriority="high" 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>&#100;m&#97;&#114;&#99;&#95;&#114;ua&#64;&#109;o&#110;d&#111;ma&#105;&#110;.t&#108;&#100;</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:d&#109;&#97;&#114;c&#95;r&#117;&#97;&#64;&#109;&#111;&#110;&#100;&#111;&#109;ain.&#116;&#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:dma&#114;&#99;_r&#117;&#97;&#64;x&#120;&#120;&#46;brussel&#115;,mailto:x&#120;&#120;&#120;xx&#120;&#120;&#64;&#114;ua.&#101;asydm&#97;r&#99;&#46;u&#115;;ruf=mailto:x&#120;&#120;&#120;x&#120;x&#120;&#64;&#114;&#117;f&#46;&#101;as&#121;d&#109;a&#114;&#99;.&#117;&#115;;fo=1</code></code></pre>



<p>Exemple quarantaine : </p>



<pre class="wp-block-code"><code class=""><code>v=DMARC1;p=quarantine;rua=mailto:d&#109;&#97;r&#99;_r&#117;&#97;&#64;&#120;&#120;x&#46;m&#111;&#110;&#100;om&#97;i&#110;.&#116;&#108;&#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 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="(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>Relais mail Postfix &#8211; envoyer ses mails sécurisés vers M365</title>
		<link>https://www.monlinux.net/2023/04/relais-mail-postfix-envoyer-ses-mails-securises-vers-m365/</link>
					<comments>https://www.monlinux.net/2023/04/relais-mail-postfix-envoyer-ses-mails-securises-vers-m365/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Sun, 09 Apr 2023 19:12:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[M365]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1713</guid>

					<description><![CDATA[<p>Cet article est dans la suite des articles consacr&#233;s &#224; postfix, je vais d&#233;tailler la gestion des mails pour une infrastructure cons&#233;quente, sans toutefois rentrer dans la HA. Il y a 2 types de flux &#224; traiter : ceux en... <a class="more-link" href="https://www.monlinux.net/2023/04/relais-mail-postfix-envoyer-ses-mails-securises-vers-m365/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2023/04/relais-mail-postfix-envoyer-ses-mails-securises-vers-m365/">Relais mail Postfix &#8211; envoyer ses mails sécurisés vers M365</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Cet article est dans la suite des articles consacrés à postfix, je vais détailler la gestion des mails pour une infrastructure conséquente, sans toutefois rentrer dans la HA. Il y a 2 types de flux à traiter : ceux en interne de nos serveurs vers notre relais SMTP postfix et le flux mail qu&rsquo;il faut sécuriser vers M365.</p>



<p>L&rsquo;utilisation d&rsquo;un relais tel que Microsoft 365 facilite la sécurisation de nos échanges mails, car une intégration de DKIM et DMARC est déjà gérée nativement! Si vous avez déjà vos mails ou l&rsquo;ensemble de votre active directory, c&rsquo;est dans cette direction qu&rsquo;il faut se diriger pour une mise en place efficace.</p>



<p>Je suppose qu&rsquo;il est possible de faire cela également avec Infomaniak pour ceux disposant de comptes pro chez eux. Avec mon compte perso je n&rsquo;ai pas vu cette option. Avec OVH, oubliez directement! Du temps où j&rsquo;étais encore client chez eux, j&rsquo;avais parlé DKIM DMARC au support, et on m&rsquo;a posés des questions pour savoir pourquoi je veux ces fonctions etc. Vraiment comme si j&rsquo;étais un extraterrestre! On était tout de même en 2020&#8230; Rien n&rsquo;était fait pour le mail mutualisé donc&#8230; Longtemps client perso et pro je suis passé chez Infomaniak pour la partie mutualisée en partie pour cela. J&rsquo;arrête le OFF là <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>



<h2 class="wp-block-heading">Configuration dans l&rsquo;Exchange 365</h2>



<p>Il faut créer un <a href="https://admin.exchange.microsoft.com/#/connectors" target="_blank" rel="noreferrer noopener">connector </a>dans mail flow &gt; connectors &gt; Add a connector : </p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="495" height="421" src="https://www.monlinux.net/wp-content/uploads/image-24.png" alt="connectors exchange" class="wp-image-1715" srcset="https://www.monlinux.net/wp-content/uploads/image-24.png 495w, https://www.monlinux.net/wp-content/uploads/image-24-300x255.png 300w" sizes="auto, (max-width: 495px) 100vw, 495px" /></figure>



<p>L&rsquo;authentification est faite par adresse IP ou certificat&nbsp;<strong>valide</strong>. Il faut savoir que votre serveur relais interne postfix va lui-même se connecter sur VOTRE_DNS.mail.protection.outlook.com et celui-ci présente un certificat valide. Votre « client » va donc authentifier le serveur de Microsoft comme valide (notre serveur relais est client par rapport au relais M365).</p>



<p>L&rsquo;authentification par IP est déjà suffisante en soit. Mais vous pouvez décider que les serveurs relais de Microsoft n&rsquo;acceptent QUE les mails si le serveur client (votre relais SMTP) présente le bon certificat client. Ce qui fait qu&rsquo;il y a une identification et authentification de part et d&rsquo;autre!</p>



<ul class="wp-block-list">
<li>Configurer une restriction par votre IP publique de sortie :</li>
</ul>



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



<ul class="wp-block-list">
<li>Configurer une restriction par un certificat valide : dans ce cas cela ne doit pas forcément être le certificat *.votredomain.tld, cela peut très bien être monrelais.mondomainetechnique.tld. La seule règle étant que ce certificat soit émis par une autorité de certification reconnue.</li>
</ul>



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



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Mettre un certbot avec let&rsquo;s encrypt sur votre serveur est envisageable si vous utilisez une vérification let&rsquo;s encrypt par dns.</p>
</blockquote>



<p>Si vous souhaitez plus d&rsquo;infos, <a href="https://learn.microsoft.com/en-us/exchange/troubleshoot/email-delivery/office-365-notice" target="_blank" rel="noreferrer noopener">la documentation Microsoft</a> est bien faite.</p>



<p>Remarque : Les&nbsp;<a href="https://learn.microsoft.com/en-us/office365/servicedescriptions/exchange-online-service-description/exchange-online-limits#sending-limits-1">limites d&rsquo;envoie pour M365</a>&nbsp;sont larges et dépendent de votre licence.</p>



<h2 class="wp-block-heading">Un mot sur le serveur Postfix</h2>



<p>Il faut tout de suite savoir que Postfix est à la fois un serveur <strong>et un client</strong>. Il faut donc bien distinguer les directives. Veillez donc bien au début qui peut être : </p>



<ul class="wp-block-list">
<li>smtp_tls_xxx en tant que client</li>



<li>smtpd_tls_xxx en tant que serveur</li>
</ul>


<figure class="wp-block-post-featured-image"><img loading="lazy" decoding="async" width="600" height="157" src="https://www.monlinux.net/wp-content/uploads/image-23-600x157.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" style="object-fit:cover;" srcset="https://www.monlinux.net/wp-content/uploads/image-23-600x157.png 600w, https://www.monlinux.net/wp-content/uploads/image-23-300x78.png 300w, https://www.monlinux.net/wp-content/uploads/image-23-1024x267.png 1024w, https://www.monlinux.net/wp-content/uploads/image-23-768x200.png 768w, https://www.monlinux.net/wp-content/uploads/image-23-1536x401.png 1536w, https://www.monlinux.net/wp-content/uploads/image-23-945x247.png 945w, https://www.monlinux.net/wp-content/uploads/image-23.png 1632w" sizes="auto, (max-width: 600px) 100vw, 600px" /></figure>


<p>Notre serveur relais est serveur par rapport à nos serveurs internes. Il est client par rapport à Microsoft 365.</p>



<h3 class="wp-block-heading">Configuration de notre relais mail Postfix</h3>



<p>J&rsquo;ai distingué les directives serveurs et clients pour que la configuration soit lisible.</p>



<p>Pour le comportement serveur du relais SMTP : </p>



<ul class="wp-block-list">
<li><code>smtpd_tls_security_level=may</code> <a href="http://www.postfix.org/postconf.5.html#smtp_tls_security_level" target="_blank" rel="noreferrer noopener">permet</a> de spécifier que notre serveur accepte une liaison client en TLS mais également en clair. Il faut penser aux copieurs ou autre matériel ne gérant pas le TLS interne à notre réseau</li>



<li><code>smtpd_tls_loglevel</code> permet d&rsquo;avoir une trace des connexions TLS dans les logs avec les ciphers pris en compte, pratique pour voir quel client envoie encore en clair et s&rsquo;il peut être modifié</li>



<li><code>smtpd_tls_cert_file</code> et <code>smtpd_tls_key_file</code> renseignent le certificat et la clé utilisé <strong>en interne</strong></li>



<li><code>smtpd_tls_chain_files</code> est le nouveau format pour pouvoir contenir plusieurs clés et certificats pour différents noms de domaine. Il faut <strong>toujours</strong> la clé et puis la chaîne de certificat et le certificat final</li>



<li><code>smtpd_tls_session_cache_database</code> permet d&rsquo;avoir un peu de performance quand beaucoup de mails sont envoyés</li>
</ul>



<pre class="wp-block-code"><code lang="bash" class="language-bash">### SERVER ###
smtpd_tls_security_level=may
smtpd_tls_loglevel = 1

smtpd_tls_cert_file=/etc/xxx.crt
smtpd_tls_key_file=/etc/xxx.key
#alternative
#smtpd_tls_chain_files=/etc/your-key-and-local-crt-and-chain-with-your-local-ca-combined.all

#optionel
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache



### CLIENT ###
relayhost = your-domain.mail.protection.outlook.com
smtp_tls_security_level = encrypt # optionnel : secure
smtp_tls_mandatory_ciphers = high
smtp_tls_loglevel = 1
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
#optionnel
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_chain_files = /etc/xxx.all
</code></pre>



<p>Pour le comportement client du relais SMTP : </p>



<ul class="wp-block-list">
<li><code>relayhost</code> on vient mettre le DNS de notre tenant M365</li>



<li><code>smtp_tls_security_level</code> <a href="http://www.postfix.org/postconf.5.html#smtpd_tls_security_level" target="_blank" rel="noreferrer noopener">le niveau de securité</a> minimal accepté en TLS. Je vous conseille secure</li>



<li><code>smtp_tls_mandatory_ciphers</code> high contient un « bundle » de ciphers satisfaisant</li>



<li><code>smtp_tls_loglevel</code> permet d&rsquo;avoir une trace des connexions TLS</li>



<li><code>smtp_tls_CAfile</code> permet de spécifié le fichier des CA faisant autorité. Un fichier du système contient déjà les CA connus du monde</li>



<li><code>smtp_tls_session_cache_database</code> permet d&rsquo;avoir un peu de performance quand beaucoup de mails sont envoyés</li>



<li><code>smtp_tls_chain_files</code> spécifiez la chaine de certificats client qui est utiliser si vous aviez choisi une restriction par  un certificat client pour votre connector M365. L&rsquo;ordre dans la chaine est <strong>importante</strong> : votre clé privée, suivie de votre certificat, ensuite le certificat intermédiaire et pour finir le certificat du CA</li>
</ul>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>Par défaut&nbsp;<a href="http://www.postfix.org/postconf.5.html#smtp_tls_security_level">en niveau de sécurité</a>&nbsp;<code>encrypt</code>&nbsp;ou&nbsp;<code>verify</code>&nbsp;ou&nbsp;<code>secure</code>&nbsp;vont authoriser le trust du nom de domaine lui-même et de son dns parent. Respectivement&nbsp;<code>nexthop</code>&nbsp;et&nbsp;<code>dot-nexthop</code>. M365 n&rsquo;émettant un certificat que pour&nbsp;<code>mail.protection.outlook.com</code>&nbsp;et pas&nbsp;<code>your-domain.mail.protection.outlook.com</code>.<br>Ce comportement peut être changer via le paramètre&nbsp;<a href="http://www.postfix.org/postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>S&rsquo;il y a un problème d&rsquo;accès au relais M365 dans les logs postfix comme ci-dessous, vérifier que l&rsquo;IP de sortie ou le certificat sont ok : </p>



<pre class="wp-block-code"><code class="">host xxx.mail.protection.outlook.com[104.47.2.7] said: 550 5.4.1 Recipient address rejected: Access denied. AS(201776281) [AB4EUR01RT057.eop-EUR01.prod.protection.outlook.com] (in reply to RCPT TO command)</code></pre>
</div></div>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>En cas de succès avec un certificat client vous aurez : </p>



<pre class="wp-block-code"><code class="">postfix/smtp[71318]: your-domain.mail.protection.outlook.com[104.47.0.36]:25: matched peername: *.mail.protection.outlook.com
postfix/smtp[71318]: your-domain.mail.protection.outlook.com[104.47.0.36]:25: subject_CN=mail.protection.outlook.com, issuer_CN=DigiCert Cloud Services CA-1, fingerprint=6A:DD:32:6D:2A:0C:C5:3A:9E:D7:E7:91:3D:6F:5C:F4, pkey_fingerprint=20:78:41:CD:EC:4F:19:7A:E0:B2:01:4F:3C:3D:1C:EE
postfix/smtp[71318]: Verified TLS connection established to your-domain.mail.protection.outlook.com[104.47.0.36]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
</code></pre>
</div></div>



<h4 class="wp-block-heading">Fichier main.cf d&rsquo;un relais SMTP Postfix complet :</h4>



<pre class="wp-block-code"><code lang="bash" class="language-bash">myorigin = /etc/hostname
mydomain = your-local-domain
mydestination = $myhostname, $myorigin, localhost.localdomain, localhost, localhost.your-local-domain

# Backward compatibility off
compatibility_level = 3.6
relay_domains = $mydestination
append_dot_mydomain = yes
smtputf8_enable=yes
smtpd_banner = $myhostname ESMTP
biff = no
readme_directory = no

# TLS parameters server
smtpd_tls_chain_files=/etc/your-key-and-local-crt-and-chain-with-your-local-ca-combined.all
#alternative
#smtpd_tls_cert_file=/etc/xxx.cer
#smtpd_tls_key_file=/etc/xxx.key
smtpd_tls_security_level=may
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache

# TLS parameters client
relayhost = xxx.mail.protection.outlook.com
smtp_tls_security_level = secure
smtp_tls_mandatory_ciphers = high
smtp_tls_loglevel = 1
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

# Client certificat to be identified by M365
#smtp_tls_chain_files = /etc/xxx.all

smtpd_client_restrictions = permit_mynetworks reject
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

mynetworks = 10.0.0.0/22,xxx
mailbox_size_limit = 0
message_size_limit = 29480000
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4

header_checks = regexp:/etc/postfix/header_checks_regexp
smtp_header_checks = regexp:/etc/postfix/replace_header_checks_regexp

sender_canonical_maps = regexp:/etc/postfix/sender_canonical_regexp</code></pre>



<h3 class="wp-block-heading">Configuration d&rsquo;un serveur client interne linux</h3>



<p>Voici la partie TLS d&rsquo;un fichier <code>main.cf</code> d&rsquo;un postfix « satellite » qui se connecte à notre relais interne. Il dois évidement avoir le certificat serveur de notre relais ou notre CA interne de configuré dans les certificats du système ou via la directive <code>smtp_tls_CAfile</code>.</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">smtp_tls_security_level = may
smtp_tls_loglevel = 1
<em>#optionnel</em>
smtp_tls_security_level = secure
smtp_tls_mandatory_ciphers = high
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache</code></pre>
<p>L’article <a href="https://www.monlinux.net/2023/04/relais-mail-postfix-envoyer-ses-mails-securises-vers-m365/">Relais mail Postfix &#8211; envoyer ses mails sécurisés vers M365</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/04/relais-mail-postfix-envoyer-ses-mails-securises-vers-m365/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Réécriture de mail &#8211; serveur relais postfix</title>
		<link>https://www.monlinux.net/2023/03/reecriture-de-mail-serveur-relais-postfix/</link>
					<comments>https://www.monlinux.net/2023/03/reecriture-de-mail-serveur-relais-postfix/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Sun, 26 Mar 2023 20:13:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1704</guid>

					<description><![CDATA[<p>Que vous envoyez vos mails en direct sur le net ou via un relais SMTP externe tel que M365, il faut penser &#224; v&#233;rifier que les domaines utilis&#233;s soient les bons. Il arrive souvent d&#8217;avoir un nom de domaine ou... <a class="more-link" href="https://www.monlinux.net/2023/03/reecriture-de-mail-serveur-relais-postfix/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2023/03/reecriture-de-mail-serveur-relais-postfix/">Réécriture de mail &#8211; serveur relais postfix</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Que vous envoyez vos mails en direct sur le net ou via un relais SMTP externe tel que M365, il faut penser à vérifier que les domaines utilisés soient les bons. Il arrive souvent d&rsquo;avoir un nom de domaine ou suffixe DNS interne utilisé par les serveurs. Il est <strong>impératif de le retranscrire</strong> vers un nom de domaine publiquement valide.</p>



<p>J&rsquo;explique ici le cas où le suffixe DNS interne est yourdomain.lan et le domaine externe est your-domain.tld</p>



<p>D&rsquo;abord il faut distinguer 2 types de mails : </p>



<ul class="wp-block-list">
<li>Ceux envoyés directement à partir de la machine ou une de ses applications locales</li>



<li>Ceux envoyés depuis la machine qui fait office de relais.</li>
</ul>



<p>Ce sont bien <strong>2 choses différentes pour postfix et donc 2 types de filtre différents</strong>.</p>



<h3 class="wp-block-heading">Filtre de sortie pour les mails générés sur la machine</h3>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>Votre serveur relais pouvant lui même envoyer un mail pour de la maintenance, mise à jour etc. Il est lui-même un serveur applicatif.</p>



<p>Dans le fichier <code>main.cf</code>, il faut renseigner cette directive : </p>



<pre class="wp-block-code"><code class="">sender_canonical_maps = regexp:/etc/postfix/sender_canonical_regexp</code></pre>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>Exemple de contenu de <code>/etc/postfix/sender_canonical_regexp</code> pour rediriger que certains domaines :</p>



<pre class="wp-block-code"><code class="">/^(.*)@(.*)\.your-local-domain\.lan$/ ${2}-${1}@your-domain.tld
/^(.*)\ &lt;(.*)@(.*)\.your-local-domain\.lan&gt;$/ ${1} &lt;${3}-${2}@your-domain.tld&gt;</code></pre>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>On oublie pas de faire un postmap : </p>



<pre class="wp-block-code"><code class="">postmap /etc/postfix/sender_canonical_regexp</code></pre>
</div></div>



<p>Vous pouvez toujours ajouter un « catch all » à la fin comme décrit dans l&rsquo;article précédent de réécriture de mail simple avec postfix.</p>



<h3 class="wp-block-heading">Filtre de sortie pour les mails transitant sur notre relais interne</h3>



<p>Typiquement vous avez un relais mail interne utilisé par vos autres serveurs. Il faut dans un premier temps ajouter votre adresse IP publique de sortie dans le champ SPF de votre nom de domaine. Le DKIM et DMARC permettent de sécurisé encore mieux l&rsquo;authenticité de vos messages, mais une chose à la fois <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>



<p>Vous pouvez utilisez la directive <a href="http://www.postfix.org/postconf.5.html#header_checks" target="_blank" rel="noreferrer noopener">header_checks</a> ou <a href="http://www.postfix.org/postconf.5.html#smtp_header_checks" target="_blank" rel="noreferrer noopener">smtp_header_checks</a>. Dans mon cas j&rsquo;ai besoin de faire 2 opérations pour le même filtre mail, <strong>ce qui n&rsquo;est pas possible de base</strong>. Mais en jouant avec ces 2 directives, je peux arriver à mes fins : marquer les mails à problème et faire une réécriture de mail :<br><strong>ATTENTION à l&rsquo;ordre :</strong> c&rsquo;est d&rsquo;abord <code>header_checks</code> qui est interprété et ensuite <code>smtp_header_checks</code>. Il faut d&rsquo;abords mettre le WARN et ensuite le REPLACE</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>Exemple pour faire un WARN et un REPLACE, on ajoute les directives dans le fichier <code>main.cf</code> :</p>



<pre class="wp-block-code"><code class="">header_checks = regexp:/etc/postfix/warn_checks_regexp
smtp_header_checks = regexp:/etc/postfix/header_checks_regexp</code></pre>
</div></div>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>cat warn_checks_regexp :</p>



<pre class="wp-block-code"><code class="">/^From:\ (.*)@(.*)\.yourdomain\.lan$/ WARN bad sender
/^From:\ (.*)\ &lt;(.*)@(.*)\.yourdomain\.lan&gt;$/ WARN bad sender</code></pre>
</div></div>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>cat header_checks_regexp :</p>



<pre class="wp-block-code"><code class="">/^From:\ (.*)@(.*)\.your-local-domain\.lan$/ REPLACE From: ${2}-${1}@your-domain.tld
/^From:\ (.*)\ &lt;(.*)@(.*)\.your-local-domain\.lan&gt;$/ REPLACE From: ${1} &lt;${3}-${2}@your-domain.tld&gt;</code></pre>
</div></div>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>On oublie pas de faire un postmap : </p>



<pre class="wp-block-code"><code class="">postmap /etc/postfix/warn_checks_regexp
postmap /etc/postfix/header_checks_regexp</code></pre>
</div></div>



<p>Le reste de votre configuration postfix dépendra :</p>



<ul class="wp-block-list">
<li>Si vous envoyez directement les mails vers Internet, auquel cas je vous conseille de configurer les signatures DKIM et d&rsquo;utiliser le record DNS DMARC</li>



<li>Si vous utilisez un serveur relais tel que M365 si vous y géré déjà vos services mails</li>
</ul>
<p>L’article <a href="https://www.monlinux.net/2023/03/reecriture-de-mail-serveur-relais-postfix/">Réécriture de mail &#8211; serveur relais postfix</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/03/reecriture-de-mail-serveur-relais-postfix/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Réécriture de mail simple avec postfix</title>
		<link>https://www.monlinux.net/2023/03/reecriture-de-mail-simple-avec-postfix/</link>
					<comments>https://www.monlinux.net/2023/03/reecriture-de-mail-simple-avec-postfix/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Sun, 12 Mar 2023 21:21:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[linux]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1698</guid>

					<description><![CDATA[<p>Il existe diff&#233;rentes possibilit&#233;s de r&#233;&#233;criture de mails avec postfix selon les cas. Le plus commun &#224; petite &#233;chelle &#233;tant d&#8217;utiliser un compte mail existant et de s&#8217;y connecter avec un login et mot de passe en TLS explicite sur... <a class="more-link" href="https://www.monlinux.net/2023/03/reecriture-de-mail-simple-avec-postfix/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2023/03/reecriture-de-mail-simple-avec-postfix/">Réécriture de mail simple avec postfix</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Il existe différentes possibilités de réécriture de mails avec postfix selon les cas. Le plus commun à petite échelle étant d&rsquo;utiliser un compte mail existant et de s&rsquo;y connecter avec un login et mot de passe en TLS explicite sur le port 587 de son fournisseur de mail. Même un Gmail faisant l&rsquo;affaire. Un autre cas étant l&rsquo;envoi de mail en direct sur le port 25 ou en passant par un relais SMTP tel que M365 le propose.</p>



<h2 class="wp-block-heading">Envoi de mail via un compte mail unique SASL</h2>



<p>Dans le cas, il faut réécrite tout champ mail : que ce soit le corps ou l&rsquo;enveloppe. Cela <strong>doit correspondre</strong> au mail du compte, afin d&rsquo;éviter d&rsquo;être considéré comme spam malgré l&rsquo;utilisation d&rsquo;un compte mail légitime.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>Créez le fichier <code>/etc/postfix/sender_canonical</code></p>



<pre class="wp-block-code"><code class="">/.+/ nas&#64;monem&#97;&#105;&#108;&#46;&#116;ld</code></pre>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>Éditez le fichier <code>/etc/postfix/main.cf</code></p>



<pre class="wp-block-code"><code class="">sender_canonical_maps = regexp:/etc/postfix/sender_canonical</code></pre>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>Exécutez un postmap</p>



<pre id="block-dfc768c9-e958-4649-ac91-0d90f471da2a" class="wp-block-preformatted">postmap /etc/postfix/sender_canonical</pre>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>Reload de postfix :</p>



<pre id="block-72e5729b-7138-4c0a-808c-b6d0df9efdff" class="wp-block-preformatted">service postfix restart</pre>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>Essayez le filtre localement et puis faite un test d&rsquo;envoie de mail :</p>



<pre id="block-66afc2c9-234e-4a62-a3a2-841c51497aa1" class="wp-block-preformatted">postmap -q roo&#116;&#64;&#108;&#111;c&#97;l&#104;ost&#46;l&#111;&#99;&#97;&#108;&#104;&#111;&#115;&#116; regexp:/etc/postfix/sender_canonical
n&#97;&#115;&#64;m&#111;&#110;&#101;&#109;a&#105;l.t&#108;d</pre>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>On oublie pas de faire un postmap : </p>



<pre class="wp-block-code"><code class="">postmap /etc/postfix/sender_canonical_regexp</code></pre>
</div></div>



<p>Plus d&rsquo;info sur <a href="http://www.postfix.org/postconf.5.html#sender_canonical_maps" target="_blank" rel="noreferrer noopener">la directive sender_canonical_maps sur la documentation officielle</a>.</p>



<p>Je vous conseille d&rsquo;utiliser mailjet pour ne pas utiliser directement les identifiants de votre provider mail. Ou du mois utilisé un token API et pas votre mot de passe principal. C&rsquo;est plus sécurisant, surtout si c&rsquo;est pour un VPS.</p>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h2 class="wp-block-heading">Configuration avec les directives pour SASL</h2>



<pre class="wp-block-code"><code lang="bash" class="language-bash">compatibility_level = 2
mydomain = nas.local
mydestination =
inet_interfaces = localhost
relayhost = in-v3.mailjet.com:587
sender_canonical_maps = regexp:/etc/postfix/sender_canonical
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_mechanism_filter =
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_CApath = /etc/ssl/certs
alias_maps = hash:/etc/aliases
default_destination_concurrency_limit = 2
default_destination_rate_delay = 1s
smtputf8_enable = no
default_transport = smtp</code></pre>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<p>Le fichier /etc/postfix/sasl_passwd et on oublie pas le postmap à faire dessus également : </p>



<pre class="wp-block-code"><code class="">in-v3.mailjet.com:587 vo&#116;re&#109;ai&#108;&#64;v&#111;&#116;&#114;&#101;&#100;&#111;m&#97;in&#101;&#46;&#116;&#108;&#100;:motdepasse</code></pre>
</div></div>
<p>L’article <a href="https://www.monlinux.net/2023/03/reecriture-de-mail-simple-avec-postfix/">Réécriture de mail simple avec postfix</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/03/reecriture-de-mail-simple-avec-postfix/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Créer un certificat multi-domaine let&#8217;s encrypt avec Apache</title>
		<link>https://www.monlinux.net/2018/03/creer-un-certificat-multi-domaine-lets-encrypt-avec-apache/</link>
					<comments>https://www.monlinux.net/2018/03/creer-un-certificat-multi-domaine-lets-encrypt-avec-apache/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Wed, 21 Mar 2018 14:30:38 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[let's encrypt]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssl]]></category>
		<guid isPermaLink="false">https://www.monlinux.net/?p=1275</guid>

					<description><![CDATA[<p>Il faut commencer par installer certbot sur le serveur avant de pouvoir soumettre une demande &#224; let&#8217;s encrypt. Ensuite, je verrais la validation d&#8217;un certificat validant un seul domaine. Pour finir, je parlerai de la validation d&#8217;un certificat multi-domaine let&#8217;s... <a class="more-link" href="https://www.monlinux.net/2018/03/creer-un-certificat-multi-domaine-lets-encrypt-avec-apache/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2018/03/creer-un-certificat-multi-domaine-lets-encrypt-avec-apache/">Créer un certificat multi-domaine let&rsquo;s encrypt avec Apache</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Il faut commencer par installer certbot sur le serveur avant de pouvoir soumettre une demande à let&rsquo;s encrypt. Ensuite, je verrais la validation d&rsquo;un certificat validant un seul domaine. Pour finir, je parlerai de la <strong>validation d&rsquo;un certificat multi-domaine let&rsquo;s encrypt</strong>.</p>



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



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



<p>Dans ce cas-ci, il sera installé sur le serveur Apache directement. Suivez d&rsquo;abord les <a href="https://certbot.eff.org/instructions">instructions d&rsquo;installation selon votre système</a>.</p>



<p>Sous Debian 9, faites directement ceci :</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">apt-get install certbot python-certbot-apache</code></pre>



<h2 class="wp-block-heading">Validation d&rsquo;un seul domaine via let&rsquo;s encrypt</h2>



<p>Pour valider un seul domaine pour un certificat, <strong>il faut déjà avoir créé la configuration du site en HTTP</strong>. Certbot se chargera de demander le certificat à let&rsquo;s encrypt et de créer une configuration de site identique en HTTPS, <strong>vous n&rsquo;aurez rien à faire côté Apache</strong>. Vous aurez la possibilité de choisir de rediriger les utilisateurs depuis http vers https.</p>



<p>Exécutez ceci et suivez les instructions :</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">certbot --apache</code></pre>



<p>Pour prendre en compte la modification, rechargez Apache :</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">service apache2 reload</code></pre>



<p>Par la suite, un renouvellement de certificat pourra se faire via :</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">certbot renew</code></pre>



<p>Un certificat let&rsquo;s encrypt n&rsquo;est valide que 3 mois. Il faut donc le renouveler tous les 3 mois. Heureusement un cron permet de le faire automatiquement, vérifiez que celui-ci est bien présent&nbsp;/etc/cron.d/certbot :</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash"># /etc/cron.d/certbot: crontab entries for the certbot package
#
# Upstream recommends attempting renewal twice a day
#
# Eventually, this will be an opportunity to validate certificates
# haven't been revoked, etc.  Renewal will only occur if expiration
# is within 30 days.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system &amp;&amp; perl -e 'sleep int(rand(3600))' &amp;&amp; certbot -q renew</code></pre>



<h2 class="wp-block-heading">Validation d&rsquo;un certificat multi-domaine</h2>



<p>Afin de valider un certificat multi-domaine, il faut spécifier ces domaines via des arguments de certbot. Bien évidemment pour le renouvellement il n&rsquo;y aura rien de spécial à faire, cela suit la même procédure qu&rsquo;un domaine seul.</p>



<p>Il faut exécuter manuellement:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">certbot-auto --apache -d domaineprincipal.tld -d www.domaineprincipal.tld -d ...</code></pre>



<p><strong>Le premier domaine sera utilisé comme domaine principal</strong>, tous les autres seront utilisés comme domaines secondaires, appelé « <strong>SAN Certificates</strong>« . Cela signifie « Subject Alternative Name ».</p>



<p><strong>Notre certificat multi-domaine a été installé directement dans la configuration Apache</strong> par Certbot, il suffit d&rsquo;un <strong>reload</strong> de la configuration Apache.</p>
<p>L’article <a href="https://www.monlinux.net/2018/03/creer-un-certificat-multi-domaine-lets-encrypt-avec-apache/">Créer un certificat multi-domaine let&rsquo;s encrypt avec Apache</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2018/03/creer-un-certificat-multi-domaine-lets-encrypt-avec-apache/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Configurer son contrôleur Ubiquiti UniFi dans son proxy Apache</title>
		<link>https://www.monlinux.net/2018/01/configurer-controleur-ubiquiti-unifi-proxy-apache/</link>
					<comments>https://www.monlinux.net/2018/01/configurer-controleur-ubiquiti-unifi-proxy-apache/#respond</comments>
		
		<dc:creator><![CDATA[belgotux]]></dc:creator>
		<pubDate>Sat, 06 Jan 2018 21:16:42 +0000</pubDate>
				<category><![CDATA[Général]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[ubiquiti]]></category>
		<category><![CDATA[unifi]]></category>
		<guid isPermaLink="false">http://www.monlinux.net/?p=1071</guid>

					<description><![CDATA[<p>Si vous chercher une marque d&#8217;access point (AP) pour renouveler votre parc Wifi, je vous conseilles de vous int&#233;resser &#224; Ubiquiti et sa gamme Unifi. L&#8217;int&#233;r&#234;t est d&#8217;avoir un seul contr&#244;leur sur un serveur d&#233;di&#233; pour contr&#244;ler tous vos AP.... <a class="more-link" href="https://www.monlinux.net/2018/01/configurer-controleur-ubiquiti-unifi-proxy-apache/">Continue Reading &#8594;</a></p>
<p>L’article <a href="https://www.monlinux.net/2018/01/configurer-controleur-ubiquiti-unifi-proxy-apache/">Configurer son contrôleur Ubiquiti UniFi dans son proxy Apache</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Si vous chercher une marque d&rsquo;access point (AP) pour renouveler votre parc Wifi, je vous conseilles de vous intéresser à Ubiquiti et sa gamme Unifi. L&rsquo;intérêt est d&rsquo;avoir un seul contrôleur sur un serveur dédié pour contrôler tous vos AP. Dans mon cas, c&rsquo;est une <strong>antenne de type <span class="ng-binding">UniFi AP-AC-Pro</span></strong>.</p>
<p>Vous pouvez installer le contrôleur sur un serveur linux, windows ou macOS. C&rsquo;est du java avec une base de données MongoDB. Il tourne très bien sur un serveur qui héberge aussi mon <a href="https://www.monlinux.net/tag/nextcloud/">nextcloud</a>, deluge, samba, etc. Mais mon « souci » est qu&rsquo;il fonctionne sur un port alternatif et <strong>je voudrais le rendre disponible sur le port HTTPS où tourne déjà mon Apache</strong> avec nextcloud, un proxy pour deluge-web, let&rsquo;s encrypt, etc.</p>
<p>L&rsquo;accès à la gestion des clients et AP du contrôleur se fait via une page web principalement. Il existe aussi une <a href="https://play.google.com/store/apps/details?id=com.ubnt.easyunifi&amp;hl=fr">application android</a>.<strong> Il faut bien comprendre que sans contrôleur, on ne sait pas manager les AP</strong>. Donc ces AP ne disposent pas d&rsquo;une page web d&rsquo;administration comme les autres AP du marché grand public ou semi-pro.</p>
<p>L&rsquo;application Android permet toutefois de faire un mode disvovery et faire une simple installation AP pour un seul réseau. Mais pour ce qui est de diffuser 2 SSID simultanés, de passer par un portail captif, etc. Il vous faut un contrôleur.</p>
<p>Pour lier un AP au contrôleur Unifi à distance, cela se fait soit via Unifi-discover sur pc (il faut être sur le même réseau ethernet layer2) ou via une app android Unifi. Les méthodes sont décrites sur <a href="https://help.ui.com/hc/en-us/articles/204909754-UniFi-Layer-3-methods-for-UAP-adoption-and-management" class="broken_link">la guideline d&rsquo;Ubiquiti</a>.</p>
<p>Je vous livre ma configuration d&rsquo;Apache pour se connecter en HTTPS pour sécuriser l&rsquo;accès à distance au contrôleur Unifi. Et ce sera avec une URL plus classe que http://unify.domain.com:8080/inform <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><span id="more-1071"></span></p>
<h2>Installer le paquet Unifi nécessaire</h2>
<p>Vous pouvez récupérer le <a href="https://www.ui.com/download/unifi/unifi-ap-ac-pro/">paquet le plus récent du software Unifi</a>. Un paquet deb est dispo pour ceux qui sont sous Debian ou Ubuntu.</p>
<pre class="lang:sh decode:true ">dpkg -i /disk/upload/unifi_sysvinit_all.deb
unifi depends on mongodb-server (&gt;= 2.4.10) | mongodb-10gen (&gt;= 2.4.14) | mongodb-org-server (&gt;= 2.6.0); however:
Package mongodb-server is not installed.
Package mongodb-10gen is not installed.
Package mongodb-org-server is not installed.
unifi depends on openjdk-7-jre-headless | java8-runtime-headless; however:
Package openjdk-7-jre-headless is not installed.
Package java8-runtime-headless is not installed.
apt-get -f install</pre>
<p>L&rsquo;accès se fait via : https://localhost:8443<br />
Attention que le premier réseau utilisable dans l&rsquo;AP est en mode untagged</p>
<p>L&rsquo;url pour joindre un second contrôleur : controller inform URL http://unify.domain.com:8080/inform</p>
<p>Mettre un proxy revers apache pour du WSS sur /wss et du http à la racine :</p>
<pre class="lang:sh decode:true">SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/unify.domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/unify.domain.com/privkey.pem

# Encoded slashes need to be allowed
AllowEncodedSlashes NoDecode

# Container uses a unique non-signed certificate
SSLProxyEngine On
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
# keep the host
ProxyPreserveHost On

# static html, js, images, etc. served from loolwsd
# loleaflet is the client part of LibreOffice Online
ProxyPass /wss wss://127.0.0.1:8443/wss retry=0
ProxyPassReverse /wss wss://127.0.0.1:8443/wss
ProxyPass / https://127.0.0.1:8443/ retry=0
ProxyPassReverse / https://127.0.0.1:8443/
ProxyPreserveHost On

</pre>
<p>L&rsquo;accès au contrôleur Unifi se fait maintenant via https://unify.domain.com</p>
<p>L’article <a href="https://www.monlinux.net/2018/01/configurer-controleur-ubiquiti-unifi-proxy-apache/">Configurer son contrôleur Ubiquiti UniFi dans son proxy Apache</a> est apparu en premier sur <a href="https://www.monlinux.net">Mon linux</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.monlinux.net/2018/01/configurer-controleur-ubiquiti-unifi-proxy-apache/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 39/71 requêtes en 0.052 secondes utilisant Disk

Served from: www.monlinux.net @ 2026-05-03 13:04:30 by W3 Total Cache
-->