Pas Sage en Seine is a user on ecurie.social. You can follow them or interact with them if you have an account anywhere in the fediverse.
Pas Sage en Seine @PasSageEnSeine

Bon, on va s’y prendre un peu plus tôt que l’année dernière cette fois-ci 😃
On recherche donc 5-10 pixels qui seraient motivés pour servir de miroir de stream pour 😊
Ça ne nécessite qu’un nginx, de la bande passante (100Mbps au moins) et un peu d’espace disque !

@PasSageEnSeine c'est quoi "un peu" d'espace disque ?

J'ai la bande passante (100mbps) mais pas des masses d'espace disque (quelques dizaines de Go de mémoire)

@Meewan 5-10Mbps au niveau de l’upstream, avec un cache d’au moins 2-3 minutes minimum, ça fait donc au moins 2Go d’espace disque.

@PasSageEnSeine Si tu veux m'expliquer comment faire, Framasoft peut le faire 🙂

@framasky Il y a juste un vhost nginx à poser pour mirrorer l’upstream HLS avec un gros cache devant 😂

@framasky @PasSageEnSeine Je te fais ça de suite !
Tu me files les IP en échange, que je les mettent dans un RRDNS

@aeris
Il faut une bécane véloce ou un p'tit scaleway loué à la semaine peut vous dépannez ??

La bande passante est peut-être trop limitée en même temps 🤔

@PasSageEnSeine @framasky

@Arnaud_Minable @aeris @framasky Pas la peine de louer un truc exprès, normalement on aura largement ce qu’il faut 😃

@PasSageEnSeine
Si vous avez tout ce qu'il faut tant mieux, mais faut pas hésiter à demander si il en faut plus 😄

@aeris @framasky

@aeris je peux vous en mettre un à dispo si besoin.

Vous faites signe?
@PasSageEnSeine @framasky

@PasSageEnSeine @framasky

Vu que j'ai rien compris je dois pas être la bonne personne pour ce job 😅

#LeJargonAuraNotrePeau

#BingoDuSysAdmin

@PasSageEnSeine on a de quoi faire ça sur stupid, on est chez online ;)

@PasSageEnSeine

Je suis chez OVH (oui Bouh, je sais)
Mais vous m'indiquez comment faire, je veux bien vous filer un coup de main.

@Taker L’upstream balance du 5-10Mbps, et faut mettre en cache sur au moins 10min. Donc on va dire 1Go quoi.

@PasSageEnSeine Ok, c'est pas grand chose :)
Donc, c'est bon pour moi, si vous chercher encore un miroir en plus.

@PasSageEnSeine Le VPS de Silence se touche la nouille : Scaleway, Amsterdam, 200Mbits, 40Go de disque dispo.

Bon, on a déjà 5-7 miroirs, ça devrait tenir le coup 😋
Histoire d’être transparent, on log les IP des visiteurs, histoire de pouvoir agréger les logs de tous les miroirs à la fin et en tirer des stats de fréquentation pour mieux calibrer le stream d’une année sur l’autre.
L’ensemble des logs est détruit dès la fin de l’agrégation, donc quelques jours après la fin de l’évènement le temps de tout collecter.

Si quelqu’un a une astuce magique niveau nginx pour anonymiser une IP de manière identique entre plusieurs serveurs ne communiquant pas, on est preneur !

@PasSageEnSeine Chiffrement avec une clé jetable, séquestrée et renouvelée à une période suffisamment longue pour continuer de faire de la corrélation

@kaiyou @PasSageEnSeine
Dans la même veine mais peut être un peu plus simple, est-ce qu'une fonction de hashage ferait l'affaire ?

@alfajet @kaiyou @PasSageEnSeine non, seulement 255^4 possibilités, l'espace des pré-images est trop petit.

@Matlink @kaiyou @PasSageEnSeine
Ca fait quand meme + de 4 milliards de possibilites rien que pour les IPv4. Faut quand meme en vouloir pour faire une rainbow table de cette taille...

Sinon le rajout d'un sel (le même) peut rendre la de-anonymisation plus difficile encore.

@alfajet @Matlink @kaiyou @PasSageEnSeine J’ai un ASIC qui fait du 4GHs en double SHA256… Ça va donc me prendre… 0.5s ? 😂

@aeris
Ça serait toujours mieux que rien, je suis assez mal à l'aise avec l'idée d'avoir les IP en clair sur les logs des streams clairement politiques :) hash + chiffrement me semble le minimum
@alfajet @Matlink @kaiyou @PasSageEnSeine

@inso @aeris @alfajet @Matlink @PasSageEnSeine Les deux approches les plus valides et stateless (on peut également y aller en stateful et tenir un registre) sont : le chiffrement et un hmac ou équivalent. Dans les deux cas la clé doit être renouvelée suffisamment régulièrement pour empêcher trop de corrélation mais suffisamment souvent pour permettre le debugging court terme.

@kaiyou @inso @alfajet @Matlink @PasSageEnSeine Wé, sauf que là on parle de collecter des logs sur 4 jours, depuis des machines $RANDOM sans lien entre elles (sinon des pixels choupis qui nous les prête)
Vachement compliqué si tu mets du salt ou du rolling dans l’équation.

@kaiyou @inso @alfajet @Matlink @PasSageEnSeine À la limite on pourrait envisager un sel commun fixe pour les 4 jours. Mais au delà, ça devient ingérable faute de canal de com’ synchrone entre tout le monde.

@aeris @inso @alfajet @Matlink @PasSageEnSeine Oh, je n'avais pas réalisé que c'était pour le streaming. C'est un tantinet plus compliqué si tu ne maîtrises qu'à moitié qui log.

@kaiyou @inso @alfajet @Matlink @PasSageEnSeine On maîtrise qui log, mais il faut du coup avoir un hash commun entre tous les participants pour être capable de « dédoublonner » derrière pour un même visiteur qui aurait boucler sur les X endpoints.

@aeris @PasSageEnSeine

RE. J'ai une VM avec nginx, de la connectivité ipv4 et v6. Est-ce que vous voulez donc un point de sortie de plus ? Pour savoir si je commence à conf le truc.

@aeris @kaiyou @inso @alfajet @PasSageEnSeine si cette solution est envisagée, tu pourrais choisir une fonction de hachage "memory-hard" telle que bcrypt ou argon2 histoire que la bruteforce soit "coûteuse" ... même si évidement l'espace des pré-images est petit ...

@aeris @kaiyou @inso @alfajet @PasSageEnSeine peut-être un chiffrement symétrique (sans aléa) + hachage.

@inso @aeris @alfajet @Matlink @PasSageEnSeine Au hasard, ça s'implemente très bien dans une chaîne logstash ou dans une pipeline graylog.