<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Network - Balise - arleo.eu</title><link>https://www.arleo.eu/tags/network/</link><description>Network - Balise - arleo.eu</description><generator>Hugo -- gohugo.io</generator><language>fr</language><lastBuildDate>Wed, 15 Apr 2026 19:01:00 +0200</lastBuildDate><atom:link href="https://www.arleo.eu/tags/network/" rel="self" type="application/rss+xml"/><item><title>CrowdSec avec Vector : filtrer le bruit, garder les bans</title><link>https://www.arleo.eu/posts/crowdsec-vector-pipeline/</link><pubDate>Wed, 15 Apr 2026 19:01:00 +0200</pubDate><author>Jmr</author><guid>https://www.arleo.eu/posts/crowdsec-vector-pipeline/</guid><description><![CDATA[<div class="featured-image">
                <img src="/images/crowdsec-vector-pipeline-featured.jpg" referrerpolicy="no-referrer">
            </div><h2 id="en-bref">En bref</h2>
<p>Le pipeline Vector initial inondait BetterStack de ~500 events/24h, dont 434 pulls CAPI sans valeur de supervision locale. Ce travail reconfigure le filtre Vector pour ne garder que les bans à haute valeur (<code>cscli</code>) et corrige un angle mort majeur : les bans effectifs du bouncer nginx-lua n&rsquo;apparaissaient nulle part dans BetterStack.</p>
<h2 id="-pourquoi">🧠 Pourquoi</h2>
<p>La stack de sécurité repose sur trois composants qui travaillent ensemble :</p>
<ul>
<li><strong>nginx</strong> avec le bouncer lua CrowdSec (<code>lua-resty-crowdsec</code>) qui bloque les requêtes en temps réel</li>
<li><strong>CrowdSec</strong> pour la détection et la gestion des décisions de ban</li>
<li><strong>Vector</strong> qui centralise les logs vers BetterStack pour la supervision</li>
</ul>
<p>Après avoir mis en place le pipeline initial, deux problèmes sont apparus rapidement. D&rsquo;abord, le signal était noyé dans le bruit : sur 500 events/24h, 434 venaient du pull CAPI communautaire horaire et 66 des listes tierces — ni les uns ni les autres ne représentent une menace détectée sur <em>cette</em> infrastructure. Ensuite, les bans effectifs du bouncer lua (blocages en temps réel dans nginx) n&rsquo;apparaissaient nulle part dans BetterStack, ce qui créait un angle mort sur l&rsquo;activité de sécurité réelle.</p>]]></description></item><item><title>Bans IP automatiques : CrowdSec, Cloudflare et AbuseIPDB</title><link>https://www.arleo.eu/posts/crowdsec-cloudflare-waf-autoban/</link><pubDate>Fri, 10 Apr 2026 00:23:00 +0200</pubDate><author>Jmr</author><guid>https://www.arleo.eu/posts/crowdsec-cloudflare-waf-autoban/</guid><description><![CDATA[<div class="featured-image">
                <img src="/images/crowdsec-cloudflare-waf-autoban-featured.jpg" referrerpolicy="no-referrer">
            </div><h2 id="en-bref">En bref</h2>
<p>Le monitoring passif ne suffit pas. Ce pipeline automatise la <strong>fermeture de la boucle en moins de 5 minutes</strong> entre une attaque détectée par Cloudflare WAF et le ban effectif de l&rsquo;IP dans CrowdSec, sa synchronisation vers Cloudflare et son signalement sur AbuseIPDB. Un script Python poll l&rsquo;API GraphQL Cloudflare toutes les 5 minutes, applique un seuil de 3 hits, et déclenche le ban avec escalade récidiviste.</p>
<h2 id="-pourquoi">🧠 Pourquoi</h2>
<p>Voir une attaque dans les logs BetterStack après coup n&rsquo;empêche pas l&rsquo;IP malveillante de continuer à frapper. Sans automatisation, la boucle détection → ban prend des heures ou ne se ferme jamais. Les actions WAF Cloudflare (<code>block</code>, <code>challenge</code>, <code>managed_challenge</code>, <code>jschallenge</code>) sont des signaux clairs d&rsquo;attaque, mais ils restent confinés dans le dashboard Cloudflare — sans pont vers CrowdSec, aucune IP n&rsquo;est bannie localement, aucune n&rsquo;est signalée à la communauté AbuseIPDB.</p>]]></description></item><item><title>Post-Mortem — Incident 522 / WAN Failover (8 avril 2026)</title><link>https://www.arleo.eu/posts/post-mortem-522-wan-failover/</link><pubDate>Wed, 08 Apr 2026 00:35:00 +0200</pubDate><author>Jmr</author><guid>https://www.arleo.eu/posts/post-mortem-522-wan-failover/</guid><description><![CDATA[<div class="featured-image">
                <img src="/images/post-mortem-522-wan-failover-featured.jpg" referrerpolicy="no-referrer">
            </div><div class="details admonition info">
    <div class="details-summary admonition-title">
        <i class="icon fas fa-info" aria-hidden="true"></i>Ce qui s&#39;est passé<i class="details-icon fas fa-angle-right" aria-hidden="true"></i>
    </div>
    <div class="details-content">
        <div class="admonition-content"><ul>
<li><strong>Date :</strong> 7-8 avril 2026</li>
<li><strong>Durée :</strong> ~3h (21:28 UTC → 22:31 UTC)</li>
<li><strong>Sévérité :</strong> P1</li>
<li><strong>Statut :</strong> Résolu</li>
<li><strong>Impact :</strong> arleo.eu injoignable pendant 3 heures — règle de port forwarding HTTPS attachée à <code>WAN</code> générique au lieu de <code>WAN1</code> explicite sur le Netgear PR60X</li>
</ul>
</div>
    </div>
</div>
<h2 id="en-bref">En bref</h2>
<p>arleo.eu a été injoignable pendant 3 heures. La cause n&rsquo;était ni le serveur, ni nginx, ni CrowdSec — c&rsquo;était une règle de port forwarding HTTPS attachée à <code>WAN</code> générique au lieu de <code>WAN1</code> explicite sur le Netgear PR60X. Le renouvellement quotidien du bail DHCP du modem 4G (WAN2) a déclenché un rebalance NAT qui a cassé le routage vers le port 443.</p>]]></description></item></channel></rss>