[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: config iptables d'un routeur à base iptables derrière une livebox



Pascal Hambourg a écrit :
Thierry B a écrit :

# Refuser les adresses sources falsifiées ou non routables
  # echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter

Attention : rp_filter n'est activé pour une interface donnée que s'il est à 1 dans net/ipv4/conf/all/ *et* dans net/ipv4/conf/<interface>/. D'autre part, il n'a pas pour but de "refuser les adresses sources falsifiées ou non routables" mais de rejeter les paquets dont l'adresse source n'est pas routée via l'interface d'arrivée.

Euh, tu peux juste me donner un petit exemple concret?
pq j'ai du mal à comprendre le fait de "rejeter les paquets dont l'adresse source n'est pas routée via l'interface d'arrivée"

Concrètement, pour activer la vérification d'adresse source des paquets reçus par l'interface $WAN, il faut :
net/ipv4/conf/all/rp_filter=1
*et*
net/ipv4/conf/$WAN/rp_filter=1

Concrètement, l'effet dépend de la table de routage. Par exemple quand un paquet est reçu sur l'interface $WAN avec l'adresse source 1.2.3.4, le noyau vérifie que la table de routage contient une route pour 1.2.3.4 avec $WAN comme interface de sortie. S'il n'y a pas de route pour cette adresse, ou si la route est de type "unreachable" ou passe par une autre interface, le paquet est détruit lors de la décision de routage d'entrée (entre la chaînes PREROUTING et la chaîne INPUT ou FORWARD).

Ça veut dire que pour bloquer les adresses sources des blocs privés que tu n'utilises pas et autres blocs non routés sur internet, étant donné que tu as une route par défaut, il te faut créer des routes "unreachable" pour ces destinations.

Il s'agit plutôt de "messages ICMP de redirection" (ICMP Redirect). Il est AMA plus utile de les ignorer (accept_redirect=0) que de ne pas en envoyer.

Euh, j'avais recopié ca d'un site mais là, je ne me rappelle plus ce que représentent des messages redirigés.

Un ICMP Redirect est émis par un routeur en réponse à un paquet reçu pour signaler qu'il existe une route plus directe vers la destination du paquet. Typiquement cela se produit (si send_redirects=1) quand un routeur reçoit un paquet par une interface et sa table de routage indique qu'il doit faire suivre ce paquet par la même interface. L'émetteur du paquet original recevant l'ICMP Redirect, est censé (sous certaines conditions et si accept_redirects=1) modifier sa table de routage en conséquence.

 # Anti Flood
    # iptables -N syn-flood
    # iptables -A INPUT -i $WAN -p tcp --syn -j syn-flood
    # iptables -A FORWARD -i $WAN -p tcp --syn -j syn-flood
# iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
    # iptables -A syn-flood -j DROP


4 TCP SYN par seconde me paraît très faible.

En fait c'est même pire : une salve de 4 TCP SYN puis 1 TCP SYN par seconde en continu. Si tu héberges un site web, la visualisation de la moindre page avec quelques images suffira à atteindre la limite.

Tu me conseilles de mettre combien?

Ça dépend de tes besoins et de tes ressources. Le but de cette limitation est d'éviter de saturer les machines qui reçoivent les requêtes et la table de connexion/NAT du routeur (mais il y a aussi celle de la Livebox sur laquelle tu n'as aucun contrôle).



Merci :-)



Reply to: