[résolu] règle iptable; "ip spoofing"?

Bonjour.
Je suis en train d’installer un wiki sur un réseau local, je souhaite que celui-ci puisse être édité uniquement par des machines du réseau local et qu’il soit accessible en lecture depuis le net. À priori j’utiliserais PmWiki (ou MoinMoin; j’hésite mais je n’ai pas l’impression qu’il fournisse ce genre de possiblité); il est possible avec pmwiki de bloquer certaines adresses ip et pmwiki gère les droits (éditions, attribution, etc…). Je compte également mettre quelques règles iptable sur le serveur. Celui-ci est derrière un routeur linksys basique sur lequel j’ai la main dans une certaine mesure. Est-il possible qu’un attaquant envoit des requêtes au serveur web (depuis le net) en déguisant son adresse ip comme provenant du réseau local? Si oui, est-il possible de se prémunir de ce genre d’attaques avec une règle iptable?

Sinon que pensez-vous de la solution authentification par LDAP en installant un serveur LDAP à l’intérieur du réseau local? Quelle est la solution la plus simple/instructive?

J’espère avoir été clair bien que je n’en suis pas sur…
Merci

[quote=“ziouplaboum”]Est-il possible qu’un attaquant envoit des requêtes au serveur web (depuis le net) en déguisant son adresse ip comme provenant du réseau local? Si oui, est-il possible de se prémunir de ce genre d’attaques avec une règle iptable?
[/quote]
Il faut travailler avec l’option noyau rp_filter :

/sbin/sysctl -w net.ipv4.conf.all.rp_filter=1
/sbin/sysctl -w net.ipv4.conf.eth0.rp_filter=1

Pour le mettre en place sur l’interface eth0.

Oui, il peut envoyer des paquets. Mais la probabilité qu’il puisse établir une connexion TCP par ce biais est très faible, car il sera en aveugle : il ne recevra jamais les réponses du serveur. Il devra notamment prédire les numéros de séquence TCP de ton serveur, ce qui est devenu très difficile avec les piles TCP/IP actuelles.

La solution basée sur le paramètre rp_filter serait efficace sur le routeur, mais pas sur le serveur car celui-ci utilise la même interface pour communiquer avec le réseau local ou avec l’extérieur. Sur le serveur, il reste la possibilité de repérer les paquets provenant de l’extérieur grâce à leur adresse MAC source qui est l’adresse MAC de l’interface interne du routeur :

Attention, cette règle bloque aussi les paquets légitimes émis par le routeur lui-même. A faire précéder par une règle qui les accepte le cas échéant. Il est difficile de distinguer les paquets émis par le routeur de paquets provenant de l’extérieur usurpant son adresse interne. On peut essayer de se baser sur leur TTL mais la fiabilité n’est pas totale. Si on est parano, il faudrait donc interdire l’accès du wiki à l’adresse IP du routeur. :smiley:

Quel désavantage cela peut présenter? Si je me trompe pas quand ordiDeBob se connecte sur mon serveur web ses requètes sont routés par le linksys et elles sont vues par le serveur web comme venant de l’adresse ip internet de ordiDeBob? C’est bien ça? Donc en gros, je n’ai pas besoin de pouvoir me connecter au serveur depuis le routeur (je ne peux pas d’ailleurs… pas d’accés en console sur ce machin là), j’interdis l’accés du wiki à l’adresse IP du routeur.

Je mets résolu.
Merci pour vos réponses!

Oui, à une exception près : quand ordiDeBob est situé dans le réseau local et accède au serveur par l’adresse publique du routeur, le routeur est obligé de remplacer l’adresse source par une des siennes (intérieure ou extérieure). Sinon les réponses du serveur reviendraient au client avec une mauvaise adresse source et la connexion échouerait (ce qui se passe avec les routeurs qui ne le font pas).