Bonjour,
Comme promis, j'ai travaillé les règles firewall pour avoir quelque chose d'assez sûr. Je pense qu'on est pas mal...
Ma seule crainte à ce sujet, c'est que potentiellement Bouygues peut changer ses IP de serveurs VOD et/ou TV à leur guise, donc du jour au lendemain çà peut se mettre à ne plus marcher et il faudra user de la règle deny+log pour voir d'où ca vient et compléter les listes.
L'idéal serait d'avoir un dump des règles firewall de la bbox, mais ca je sais pas si c'est possible et puis ils peuvent toujours passez une MAJ bbox avant de faire leur changement... bref le jeux du chat et de la souris...
Les listes d'IP ByTEL TV et VOD repérées sont les suivantes, j'ai mis des /24 plutôt que les IP des serveurs répérés, çà permet d'éviter trop de modifications en partant de l'hypothèse que si Bouygues change de serveur, ils prendront un ip dans le même réseau. Tous les réseaux vu sont bien attribués à Bouygues au niveau du RIPE :
/ip firewall address-list
add address=212.195.48.0/24 list=VODReplay
add address=212.195.244.0/24 list=VODReplay
add address=62.34.201.0/24 list=VODReplay
add address=194.158.119.0/24 list=VODReplay
add address=195.36.152.0/24 list=VODReplay
add address=192.168.0.0/24 list=MyNetworks
add address=192.168.1.0/24 list=MyNetworks
add address=192.168.254.0/30 list=MyNetworks
add address=193.251.97.0/24 list=TV
add address=89.86.97.0/24 list=TV
add address=176.165.8.0/24 list=TV
add address=89.86.96.0/24 list=TV
Du coup au niveau règle ca donne çà :
Ce premier bloc est facultatif, c'est pour tromper les scan de ports et autre syn flood.
/ip firewall filter
add action=add-src-to-address-list address-list=Syn_Flooder address-list-timeout=1d chain=input comment="Add Syn Flood IP to the list" connection-limit=30,32 protocol=tcp tcp-flags=syn
add action=add-src-to-address-list address-list=Port_Scanner address-list-timeout=1w chain=input comment="Port Scanner Detect" protocol=tcp psd=21,3s,3,1
add action=tarpit chain=input comment="Drop to syn flood list" protocol=tcp src-address-list=Syn_Flooder
add action=tarpit chain=input comment="Drop to port scan list" protocol=tcp src-address-list=Port_Scanner
Pour la chaine INPUT :
/ip firewall filter
add action=accept chain=input comment="--- Accept Established / Related" connection-state=established,related in-interface=Fibre_ByTel_vl100
add action=accept chain=input comment="--- Accept IGMP for IPTV Multicast" in-interface=Fibre_ByTel_vl100 protocol=igmp
add action=accept chain=input comment="--- Accept IP Flow for IGMP Proxy" dst-port=8202,8200 in-interface=Fibre_ByTel_vl100 protocol=udp src-address-list=TV
add action=drop chain=input comment="--- Deny All / Drop -- INPUT" src-address-list=!MyNetworks
Pour la chaine FORWARD
/ip firewall filter
add action=fasttrack-connection chain=forward comment="--- FastTrack Forwarding Established / Related" connection-state=established,related
add action=accept chain=forward comment="--- Accept Established / Related" connection-state=established,related
add action=accept chain=forward comment="--- Accept IP Flow for IGMP Proxy" dst-port=8200,8202 protocol=udp src-address-list=TV
add action=accept chain=forward comment="--- Accept IP flow for VOD" dst-port=20000-30000 in-interface=Fibre_ByTel_vl100 protocol=udp src-address-list=VODReplay
add action=accept chain=forward comment="--- Accept Outgoing Client/DMZ Traffic Out to Internet" out-interface=Fibre_ByTel_vl100 src-address-list=MyNetworks
add action=accept chain=forward comment="--- Accept Outgoing Client Traffic Out to DMZ" dst-address-list=MyNetworks in-interface-list=LAN src-address-list=MyNetworks
add action=drop chain=forward comment="--- Deny All / Drop -- FORWARD" log=no
Et pour le NAT :
/ip firewall nat
add action=masquerade chain=srcnat out-interface=Fibre_ByTel_vl100 src-address-list=MyNetworks
add action=dst-nat chain=dstnat dst-port=20000-30000 in-interface=Fibre_ByTel_vl100 protocol=udp src-address-list=VODReplay to-addresses=192.168.1.20
Donc voilà, rien de spécial pour la TV "Live" c'est du multicast, j'ai juste filtré les ports 8200 et 8202 ainsi que les serveurs source en input et forward pour que je proxy fasse le boulot. C'est plutôt propre et le proxy IGMP permet d'éviter les flux entrants non désirés.
Pour la VOD et Replay, c'était plus sioux, car en fait c'est du streaming old school, le flux audio/video n'est pas dans une session tcp, mais envoyé dans un flux udp complètement déconnecté de la session de commande et qui plus est sur un range de ports aléatoire entre 20000 et 30000 ! vive la sécu si on identifie pas les IP sources
!
De là, il faut aussi faire un NAT entrant de votre interface externe vers votre box TV pour que çà marche. D'où l'intérêt de figer l'ip DHCP de votre box TV !
Ca fait bien 3 semaines que j'utilise ce jeu de règles, et j'ai aucun soucis ni en Replay ni en TV "Live" donc je pense que le schéma est bon ! J'utilise également l'option "Start by Canal" mais je regarde jamais de films en VOD... donc là faudra tester, car il peut y avoir des IP sources différentes à ajouter dans la liste VODReplay.
a+