Auteur Sujet: Remplacer la livebox avec DHCP+DHCPv6-pd (linux/openbsd)  (Lu 263172 fois)

0 Membres et 1 Invité sur ce sujet

corrector

  • Invité
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #84 le: 26 novembre 2015 à 13:58:12 »
Tout bonnement incroyable, d'où tu tiens ça?

Comment pourrait-on court-circuiter un filtre de paquets??!!!

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 256
  • Antibes (06) / Mercury (73)
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #85 le: 26 novembre 2015 à 14:01:53 »
Tout simplement parce qu'avec les raw sockets tu peux faire autre chose que de l'IP sur Ethernet. iptables, ça marche avec de l'IP seulement....

D'où je tiens ça ? Les dizaines de publications disponible en googleisant "raw socket iptables", plus l'expérimentation de @zommak, plus d'autres témoignages dans ce fil...

Mais effectivement, c'est pour moi une faille dans le système: Rien n'empêche d'implèmenter IP et TCP en userland au dessus des raw sockets et de passer à travers le firewall. La seule restriction étant que les raw sockets ne sont utilisables qu'avec l'id 0 (root), ce qui mitige quand même le risque...

Techniquement, je ne vois pas ce qui empêcherait au kernel de consulter les paquets envoyés à une raw socket, et si c'est de l'IP, de le faire passer par iptables. Mais bon je ne suis pas l'auteur d'iptables il y a surement une raison qui m'échappe :)

corrector

  • Invité
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #86 le: 26 novembre 2015 à 14:30:00 »
Tout simplement parce qu'avec les raw sockets tu peux faire autre chose que de l'IP sur Ethernet. iptables, ça marche avec de l'IP seulement....
Je sais bien, mais je ne pensais pas qu'il y avait un lien entre les sockets et netfilter, ça semble complètement délirant a priori.

D'où je tiens ça ? Les dizaines de publications disponible en googleisant "raw socket iptables", plus l'expérimentation de @zommak, plus d'autres témoignages dans ce fil...
Je vais voir alors, c'est un truc énorme pour moi.

corrector

  • Invité
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #87 le: 26 novembre 2015 à 14:46:52 »
Ah oui quand même :

Citer
On Tue, Mar 25, 2003 at 02:06:59AM -0500, Ethan Dameron wrote:
> If I have a an IP datagram in userspace and I send it via a raw socket
> created with socket(PF_INET, SOCK_RAW, IPPROTO_RAW) using the send()
> system call, will this packet traverse the netfilter chains?

No. Raw sockets bypass the TCP/IP stack. Netfilter hooks, and
consequently iptables, sit inside the IP stack.

Another effect of the same occurrence is that, even if your iptables
rules drop packets, you can still see them with tcpdump / ethereal.
http://lists.netfilter.org/pipermail/netfilter-devel/2003-March/010826.html

Pouf pouf pouf

corrector

  • Invité
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #88 le: 26 novembre 2015 à 15:23:12 »
Mais effectivement, c'est pour moi une faille dans le système: Rien n'empêche d'implèmenter IP et TCP en userland au dessus des raw sockets et de passer à travers le firewall. La seule restriction étant que les raw sockets ne sont utilisables qu'avec l'id 0 (root), ce qui mitige quand même le risque...
Non, CAP_NET_RAW. C'est pas tout à fait pareil.

Superuser permet de changer la config pare-feu de toute façon, mais pas CAP_NET_RAW a priori.

nerzhul

  • Abonné Orange Fibre
  • *
  • Messages: 32
  • 91
    • Unix Experience
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #89 le: 26 novembre 2015 à 16:40:25 »
Effectivement tu tag bien la prio 0 après avoir initié la connexion DHCP? sinon celle ci ne pourra pas se faire.
Non rien n'est tagué comme tu peux le voir dans la configuration PF que j'ai citée. Les paquets partent avec la priorité vlan par défaut sous OpenBSD (je n'ai pas regardé encore pour DHCP mais c'est 3 pour le trafic classique à ce que j'ai pu voir)
Les paquets natés en stateful par PF sont tagués en priorité 6 ce qui a permit de rétablir le débit en download à 100Mbps au lieu de 30Mbps

Je vais regarder s'il y a des spécificités à corriger mais ya encore un peu de boulot :)

zommak

  • Abonné Orange Fibre
  • *
  • Messages: 37
    • Site CV
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #90 le: 26 novembre 2015 à 17:01:50 »
C'est que je cherchais à dire. Il faut absolument que tu detag la prio 3/6 de tout les paquets celle ci doit être à 0 sauf pour les paquet reseau (DHCP, ICMP, ARP) qui doit être à 6

nerzhul

  • Abonné Orange Fibre
  • *
  • Messages: 32
  • 91
    • Unix Experience
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #91 le: 26 novembre 2015 à 17:27:56 »
zommak, sauf que je n'ai pas du tout de priorité custom sur le DHCP/ARP/ICMP et que tout fonctionne parfaitement avec la priorité par défaut à ce niveau là :)
Je regarderai côté TCP en revanche c'est la partie importante :)

zommak

  • Abonné Orange Fibre
  • *
  • Messages: 37
    • Site CV
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #92 le: 26 novembre 2015 à 18:34:25 »
Ok je veux bien que la priorité à 3 marche sur les paquets réseaux, mais il faut que tu arrives à revenir à une prio de 0 sur le reste (au moins udp et tcp ). Même si ce n'est pas des prio custom ça peut être un probleme pour les routeurs d'orange qui voient les paquet passer avec des prio qu'ils ne devraient pas. si tu veux retrouver ton débit max. Indique nous la commande que tu as utilisé et qui a bloqué les communication tcp on pourra peut être t'aider à trouver la solution. (même si j'admet que j'ai pas souvent eu l'usage des bsd)

nerzhul

  • Abonné Orange Fibre
  • *
  • Messages: 32
  • 91
    • Unix Experience
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #93 le: 26 novembre 2015 à 20:14:56 »
En l'occurence il s'agit d'un simple set prio 0 au lieu de set prio 6 sur les paquets sortants natés, je dois investiguer voir ce qui se passe réellement

nerzhul

  • Abonné Orange Fibre
  • *
  • Messages: 32
  • 91
    • Unix Experience
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #94 le: 26 novembre 2015 à 20:31:42 »
Ok j'ai trouvé, la norme 802.1p définit une inversion de prio 1 et prio 0 pour taguer les packets.

Voici la configuration actuelle permettant de faire tout dans les règles de l'art et qui fonctionne parfaitement de mon côté (eh oui PF c'est carrèment mieux que les trucs crado avec netfilter :D).
C'est le PF le plus simple avec une bonne sécurité pour le routeur OpenBSD. Pour rappel PacketFilter est stateful, donc seul les entrées autorisées d'un côté pourront revenir d'un autre. Il faut encore que j'affine cela pour avoir un bon filtrage pour l'IPv6 mais les hosts IPv4 sont bien protégés et le routeur n'a que SSH et HTTP d'actifs.

wan_iface="vlan832"
table <lan_v4> { 192.168.1.0/24 172.16.9.0/23 }

block log               # block stateless traffic
pass keep state         # establish keep-state
block in log quick on $wan_iface inet proto tcp to port { ssh http } # Block ssh and http from WAN
block in log quick on $wan_iface inet proto udp to port { syslog domain } # Block DNS and syslog from WAN

# Tag packets on wan interface with vlan priority 0 (1 in PF because of 802.1p)
match out on $wan_iface inet proto tcp set prio 1
# nat clients to wan interface
pass out quick on $wan_iface inet from <lan_v4> nat-to ($wan_iface) keep state

J'ai du découper le set prio, ca a permi de corriger le pb et ca ne s'applique que sur TCP ici, je pense qu'un 2e match out qui ignore le port bootpc devrait faire l'affaire pour ceux qui aiment UDP :)

Voici le bench actuel, c'est très satisfaisant


En ce qui concerne l'IP je note que j'ai la même depuis plus de 24 heures

Je valide donc ma configuration avec OpenBSD, très simple avec juste le paquet isc-dhcp-client

Je commence les tests IPv6 avec dibbler bientôt et s'il faut à terme je filerai une image OpenBSD de mon routeur (sans les ID bien sûr) pour ceux qui veulent se monter ca sur un routeur (j'ai une alix board 2d13 en l'occurence)

zommak

  • Abonné Orange Fibre
  • *
  • Messages: 37
    • Site CV
Remplacer la livebox avec DHCP+DHCPv6-pd (sans pppoe)
« Réponse #95 le: 26 novembre 2015 à 22:00:44 »
Cool bien joué, je mettrai à jour le premier post à la fin du weekend dès que j'ai un peu de temps