« Protection Surveillance VPS » : différence entre les versions

Aucun résumé des modifications
Aucun résumé des modifications
 
(4 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
<p>Protection contre les attaques DDoS/SYN flood.</p>
<p>Protection contre les attaques DDoS/SYN flood.</p>
Ce document explique comment '''surveiller les connexions TCP incomplètes (SYN-RECV)''' et '''protéger votre VPS contre les tentatives de saturation TCP (SYN flood)''' avec nftables.
Ce document explique comment '''surveiller les connexions TCP incomplètes (SYN-RECV)''' et '''protéger votre VPS contre les tentatives de saturation TCP (SYN flood)''' avec nftables.
-----


== 1️⃣ Surveiller les SYN-RECV ==
== 1️⃣ Surveiller les SYN-RECV ==
Ligne 10 : Ligne 7 :
=== a) Voir toutes les connexions SYN-RECV ===
=== a) Voir toutes les connexions SYN-RECV ===


<syntaxhighlight lang="bash">ss -tan state syn-recv</syntaxhighlight>
<syntaxhighlight lang="bash" copy>ss -tan state syn-recv</syntaxhighlight>
* Affiche toutes les '''tentatives de connexion TCP''' qui n’ont pas encore été complétées (SYN reçu, ACK non encore reçu).
* Affiche toutes les '''tentatives de connexion TCP''' qui n’ont pas encore été complétées (SYN reçu, ACK non encore reçu).
* Utile pour détecter des '''SYN flood ou scans rapides''' sur vos ports exposés (SSH, HTTPS, etc.).
* Utile pour détecter des '''SYN flood ou scans rapides''' sur vos ports exposés (SSH, HTTPS, etc.).
Ligne 34 : Ligne 31 :
</pre>
</pre>
* Ici, le port 443 (HTTPS) reçoit le plus de SYN, suivi du port 22 (SSH).
* Ici, le port 443 (HTTPS) reçoit le plus de SYN, suivi du port 22 (SSH).


-----
-----
Ligne 42 : Ligne 38 :
=== Règle SYN limit ===
=== Règle SYN limit ===


<syntaxhighlight lang="bash">sudo nft add rule inet filter input tcp flags syn limit rate 10/second burst 20 packets accept</syntaxhighlight>
<syntaxhighlight lang="bash" copy>sudo nft add rule inet filter input tcp flags syn limit rate 10/second burst 20 packets accept</syntaxhighlight>
* '''Limite les nouvelles connexions TCP (SYN) à 10 par seconde''', avec un '''burst autorisé de 20 SYN'''.
* '''Limite les nouvelles connexions TCP (SYN) à 10 par seconde''', avec un '''burst autorisé de 20 SYN'''.
* Protège contre les '''SYN flood''' et les scans rapides.
* Protège contre les '''SYN flood''' et les scans rapides.
* Les nouvelles connexions au-delà de cette limite seront temporairement rejetées.
* Les nouvelles connexions au-delà de cette limite seront temporairement rejetées.
* Cette règle peut être '''appliquée par port''' si vous voulez protéger uniquement SSH ou un service critique.
* Cette règle peut être '''appliquée par port''' si vous voulez protéger uniquement SSH ou un service critique.


-----
-----
Ligne 55 : Ligne 50 :
# '''Créer un fichier de configuration nftables'''
# '''Créer un fichier de configuration nftables'''


<syntaxhighlight lang="bash">sudo nano /etc/nftables.conf</syntaxhighlight>
<syntaxhighlight lang="bash" copy>sudo nano /etc/nftables.conf</syntaxhighlight>
<ol start="2" style="list-style-type: decimal;">
<ol start="2" style="list-style-type: decimal;">
<li>'''Ajouter votre table, chaîne et règle''' :</li></ol>
<li>'''Ajouter votre table, chaîne et règle''' :</li></ol>
Ligne 105 : Ligne 100 :
|
|
|}
|}


-----
-----
Ligne 114 : Ligne 108 :
* Les ports critiques comme SSH ou HTTPS restent accessibles aux utilisateurs légitimes
* Les ports critiques comme SSH ou HTTPS restent accessibles aux utilisateurs légitimes
* Il est facile de '''surveiller le trafic TCP et détecter les anomalies'''.
* Il est facile de '''surveiller le trafic TCP et détecter les anomalies'''.
```
[[Catégorie: Debian]]
[[Catégorie: Debian]]