<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Protéger votre machine des inondations SYN</title><link href="style.css" rel="stylesheet" type="text/css" /><meta content="DocBook XSL Stylesheets V1.73.2" name="generator" /><link rel="start" href="index.html" title="HOWTO du routage avancé et du contrôle de trafic sous Linux" /><link rel="up" href="ch15.html" title="Chapitre 15. Recettes de cuisine" /><link rel="prev" href="ch15.html" title="Chapitre 15. Recettes de cuisine" /><link rel="next" href="ch15s03.html" title="Limiter le débit ICMP pour empêcher les dénis de service" /></head><body><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Protéger votre machine des inondations SYN</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ch15.html">Précédent</a> </td><th align="center" width="60%">Chapitre 15. Recettes de cuisine</th><td align="right" width="20%"> <a accesskey="n" href="ch15s03.html">Suivant</a></td></tr></table><hr /></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title"><a id="lartc.cookbook.synflood-protect" />Protéger votre machine des inondations SYN</h2></div></div></div><p>D'après la documentation <span class="application">iproute</span> d'Alexey adaptée à netfilter. Si vous utilisez ceci, prenez garde d'ajuster les nombres avec des valeurs raisonnables pour votre système. </p><p>Si vous voulez protéger tout un réseau, oubliez ce script, qui est plus adapté à un hôte seul. </p><p>Il apparaît que la toute dernière version de l'outil iproute2 est nécessaire pour que ceci fonctionne avec le noyau 2.4.0. </p><pre class="screen">#! /bin/sh -x # # script simple utilisant les capacités de Ingress. # Ce script montre comment on peut limiter le flux entrant des SYN. # Utile pour la protection des TCP-SYN. Vous pouvez utiliser IPchains # pour bénéficier de puissantes fonctionnalités sur les SYN. # # chemins vers les divers utilitaires # À changer en fonction des vôtres # TC=/sbin/tc IP=/sbin/ip IPTABLES=/sbin/iptables INDEV=eth2 # # marque tous les paquets SYN entrant à travers $INDEV avec la valeur 1 ############################################################ $iptables -A PREROUTING -i $INDEV -t mangle -p tcp --syn \ -j MARK --set-mark 1 ############################################################ # # installe la file d'attente ingress sur l'interface associée ############################################################ $TC qdisc add dev $INDEV handle ffff: ingress ############################################################ # # Les paquets SYN ont une taille de 40 octets (320 bits), donc trois SYN # ont une taille de 960 bits (approximativement 1Kbit) ; nous limitons donc # les SYNs entrants à 3 par seconde (pas vraiment utile, mais sert à # montrer ce point -JHS ############################################################ $TC filter add dev $INDEV parent ffff: protocol ip prio 50 handle 1 fw \ police rate 1kbit burst 40 mtu 9k drop flowid :1 ############################################################ # echo "---- qdisc parameters Ingress ----------" $TC qdisc ls dev $INDEV echo "---- Class parameters Ingress ----------" $TC class ls dev $INDEV echo "---- filter parameters Ingress ----------" $TC filter ls dev $INDEV parent ffff: #supprime la file d'attente ingress #$TC qdisc del $INDEV ingress </pre></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ch15.html">Précédent</a> </td><td align="center" width="20%"><a accesskey="u" href="ch15.html">Niveau supérieur</a></td><td align="right" width="40%"> <a accesskey="n" href="ch15s03.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">Chapitre 15. Recettes de cuisine </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> Limiter le débit ICMP pour empêcher les dénis de service</td></tr></table></div></body></html>