« Protection Surveillance VPS » : différence entre les versions
Apparence
Page créée avec « = Surveillance et protection TCP sur un VPS Debian 13 = <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. ----- == 1️⃣ Surveiller les SYN-RECV == === a) Voir toutes les connexions SYN-RECV === <syntaxhighlight lang="bash">ss -tan state syn-recv</syntaxhighlight> * Affi... » |
|||
| Ligne 22 : | Ligne 22 : | ||
=== b) Compter les SYN-RECV par port === | === b) Compter les SYN-RECV par port === | ||
<syntaxhighlight lang="bash">ss -tan state syn-recv | awk '{print | <syntaxhighlight lang="bash" copy>ss -tan state syn-recv | awk '{split($3,a,":"); print a[length(a)]}' | sort | uniq -c | sort -nr</syntaxhighlight> | ||
* Affiche '''le nombre de SYN-RECV par port local'''. | * Affiche '''le nombre de SYN-RECV par port local'''. | ||
* Permet de '''repérer les ports les plus sollicités''' ou ciblés par des scans. | * Permet de '''repérer les ports les plus sollicités''' ou ciblés par des scans. | ||
Version du 19 janvier 2026 à 23:44
Surveillance et protection TCP sur un VPS Debian 13
Protection contre les attaques DDoS/SYN flood.
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
a) Voir toutes les connexions SYN-RECV
ss -tan state syn-recv
- 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.).
- Exemple de sortie :
State Recv-Q Send-Q Local Address:Port Peer Address:Port SYN-RECV 0 0 0.0.0.0:443 1.2.3.4:12345
b) Compter les SYN-RECV par port
ss -tan state syn-recv | awk '{split($3,a,":"); print a[length(a)]}' | sort | uniq -c | sort -nr
- Affiche le nombre de SYN-RECV par port local.
- Permet de repérer les ports les plus sollicités ou ciblés par des scans.
- Exemple de sortie :
152 443 10 22
- Ici, le port 443 (HTTPS) reçoit le plus de SYN, suivi du port 22 (SSH).
2️⃣ Protéger le serveur avec une règle nftables
Règle SYN limit
sudo nft add rule inet filter input tcp flags syn limit rate 10/second burst 20 packets accept
- 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.
- 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.
Ajouter la règle au démarrage sur Debian 13
- Créer un fichier de configuration nftables
sudo nano /etc/nftables.conf
- Ajouter votre table, chaîne et règle :
#!/usr/sbin/nft -f
table inet filter {
chain input {
type filter hook input priority 0; policy accept;
# Limite SYN globale
tcp flags syn limit rate 10/second burst 20 packets accept
}
}
- Activer le service nftables pour qu’il se charge au démarrage
sudo systemctl enable nftables
sudo systemctl start nftables
- Vérifier que la règle est appliquée
sudo nft list ruleset
3️⃣ Résumé
| Commande / Règle | Utilité | |
|---|---|---|
ss -tan state syn-recv
|
Voir toutes les connexions TCP incomplètes (SYN-RECV) | |
| awk ... | Compter les SYN-RECV par port pour détecter les ports ciblés | |
nft add rule ... limit rate ...
|
Limiter les nouvelles connexions TCP pour protéger contre SYN flood et scans rapides | |
/etc/nftables.conf + systemctl enable nftables
|
S’assurer que la règle est appliquée à chaque démarrage du VPS |
Avec cette configuration :
- Le VPS est protégé contre les SYN flood
- 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.
```