Aller au contenu

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

De Marmits Wiki
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 114 : Ligne 114 :
* 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]]

Version du 19 janvier 2026 à 23:48

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

ou

ss -tan state syn-recv | awk '{print $3}' | 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 :
138 443
1 Local
  • 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

  1. Créer un fichier de configuration nftables
sudo nano /etc/nftables.conf
  1. 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
    }
}
  1. Activer le service nftables pour qu’il se charge au démarrage
sudo systemctl enable nftables
sudo systemctl start nftables
  1. 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.