« Protection Surveillance VPS » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (5 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 29 : | Ligne 26 : | ||
* Exemple de sortie : | * Exemple de sortie : | ||
<pre>138 443 | <pre> | ||
138 443 | |||
1 Local | |||
</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 40 : | 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 53 : | 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 103 : | Ligne 100 : | ||
| | | | ||
|} | |} | ||
----- | ----- | ||
| Ligne 112 : | 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]] | ||