Posté par Moonz .
En réponse au message http session sécurité.
Évalué à 2.
Dernière modification le 25 juin 2018 à 14:55.
L’attaquant peut très bien avoir la même adresse IP qu’un client légitime. Un client légitime peut très bien changer d’adresse IP d’une page à l’autre (smartphone: je passe du Wifi à la 4G parce que je sors de chez moi par exemple).
La solution triviale et de bon sens à ton problème s’appelle HTTPS.
Si pour une raison étrange tu ne peux vraiment pas faire de HTTPS, tu n’as plus qu’à faire du DH à la main pour dériver un secret partagé et l’utiliser comme MAC pour authentifier ton cookie d’identifiant de session. Voir https://nacl.cr.yp.to/scalarmult.html et https://github.com/tonyg/js-nacl.
Pour un bug, ton patch a de grande chances de venir de l’upstream, intégré dans la branche de dev pour la prochaine version, et tu veux juste l’appliquer en local parce que le bug en question est critique pour ton usage (ça m’est arrivé avec Gitlab)
Pour une fonctionnalité plus complexe, tu peux toujours balancer upstream pour pas avoir à maintenir.
Et cc’est sans compter que beaucoup de projets ont un système de plugins (Jenkins/Redmine me viennent en tête). Dans ma boite actuelle on a des plugins redmine développés en interne, bonne chance pour faire la même chose avec un tracker en mode SAAS.
Et sans compter que tout reste à l’intérieur de ton réseau. Je ne comprend toujours pas comment certains arrivent à tolérer qu’un service externe, sur un réseau externe, puisse se connecter sur leurs serveurs de production pour le déploiement (dans le cas où le déploiement se fait par un système de CI/CD externe).
C’est justement quand tu commences à devoir debugger et intégrer que tu es content d’avoir internalisé un outil Open-Source plutot que d’être à la merci d’un presta externe bien plus gros que toi (c’est à dire pour qui ton bug/ta fonctionnalité est un ticket parmi des milliers qui sera prévu pour "dans une version ou deux, au mieux")
Je pense que beaucoup prennent mal les choses lorsque ce sont des assertions
Je vais pas parler pour les autres, mais je prend mal Zenitram parce qu’il fait énormément de procès d’intention (« tu défends X parce qu’au plus profond de toi tu penses Y ». Avec Y régulièrement insultant et à côté de la plaque. Pour caricaturer un poil (mais à peine): « Tu défends Brendan Eich parce que en fait tu es homophobe »)
Quand il se contente d’assertions pragmatiques, c’est probablement un des contributeurs les plus agréables à lire.
Si tu es prêt à installer calibre, c’est que tu as un minimum confiance dans les devs de calibre pour pas mettre de la merde dans leur code. Confiance qu’il est tout à fait raisonnable d’étendre à linux-installer.py écrit par les même personnes.
I'd be surprised if increased load has a negative effect on 1.1.1.1's performance.
We run a homogeneous architecture—that is, every machine in our fleet is capable of handling every type of request. The same machines that currently handle 10% of all HTTP requests on the internet, and handle authoritative DNS for our customers, and serve the DNS F root server, are now handling recursive DNS at 1.1.1.1. These machines are not sitting idle. Moreover, this means that all of these services are drawing from the same pool of resources, which is, obviously, enormous. This service will scale easily to any plausible level of demand.
In fact, in this kind of architecture, a little-used service is actually likely to be penalized in terms of performance because it's spread so thin that it loses cache efficiency (for all kinds of caches—CPU cache, DNS cache, etc.). More load should actually make it faster, as long as there is capacity, and there is a lot of capacity.
Le cœur de l’algo en lui-même n’a pas connaissance des règles du jeu. Par exemple, aux échecs, AlphaZero n’a nulle part la connaissance explicite qu’un cavalier peut se déplacer de deux cases vers la gauche et d’une case vers le haut en un mouvement. Tout ce qu’il a, c’est d’un côté en entrée une matrice 8x8 qui se trouve être à 1 quand un cavalier est présent dans la case correspondante, et en sortie une matrice 8x8 qui, quand elle est à 1, est interprétée par le moteur d’échecs (dont AlphaZero n’a pas connaissance) par "déplacer le cavalier présent à cette case de deux cases vers la gauche et une case vers le haut". Mais nulle part AlphaZero lui-même n’a de notion de cavalier et de déplacements légaux associés à cette pièce. Ou de règles de captures. Tout ceci, il doit l’apprendre.
et il est impressionnant de voir à quel point ce genre de discussions autour de l'IA n'ont pas évolué
Les discussions évoluent. C’est juste que le grand public a constamment 30 ans de retard, donc si tu compares les discussions quasi-académiques d’il y a 30 ans et les discussions du grand public d’aujourd’hui, ça donne cette impression.
Le "Godel, Escher, Bach" (c’est à dire une vulgarisation des débats contemporains) de ~2010 c’est "Rationality: From AI to Zombies", pas l’express…
C’est bien parce que j’aime bien automatiser que je n’aime pas les IDE.
Un debugger graphique intégré c’est effectivement sympa la plupart du temps. Jusqu’au jour où tu veux automatiser une session de debugging en combinaison avec git bisect.
Une chaine de build automagique intégré à l’IDE c’est sympa la plupart du temps. Jusqu’au jour où tu veux automatiser le déploiement sur une instance de recette avec docker.
Le gros problème de l'approche de NodeJS est qu'elle propose une approche de la programmation événementielle basée sur des callbacks et qu'on finit invariablement par avoir du code spaghetti assez indigeste, pas super facile à maintenir – et pas non plus super facile à mettre au point. Un des gros problèmes de la programmation par callbacks est qu'elle inverse l'ordre de composition des fonctions
Je ce cas, je ne donne pas cher de l'application qu'ils développent…
Je suis désolé, mais pour moi c’est ça qui est à courte vue.
La plupart des développeurs n’ont que des besoins extrêmement basiques de persistance. Demander d’avoir à maîtriser SQL pour ça n’est pas raisonnable. On ne demande pas à un développeur de savoir rebalancer un RB+-tree pour utiliser un système de fichier, ou de connaitre en détails comment fonctionne la couche MAC du wifi pour faire une requête HTTP.
Le progrès en ingénierie informatique, c’est le développement d’abstractions simples d’utilisation (système de fichier, TCP) adaptées à un besoin précis et répandu. Si le « monde BDD » (j’inclus là dedans SGBDR et ORM) n’est pas capable de fournir une telle abstraction pour des besoins de persistance basique, le problème vient du monde BDD, pas des développeurs.
Tu peux très bien utiliser du code envoyé par un serveur auquel tu ne fais pas confiance, tant que tu obtiens la signature du code par un canal de confiance.
Regarde les mitochondries qui ne sont pas dans notre corps grâce à notre ADN
L’ADN mitochondrial est soumis aux mêmes pressions de sélection que l’ADN classique. Et presque aux mêmes mécanismes de mutation. Qu’il soit dans la mitochondrie plutôt que dans le noyau ne change pas grand chose du point de vue de la sélection naturelle.
les bactéries dans notre tube digestif, l'influence de notre environnement sur notre raisonnement
Ben comme tu dis, tout ceci fait partie de l’environnement, que l’évolution prend en compte. Exactement comme un développeur prend en compte l’environnement dans lequel son programme est supposé tourner.
L’évolution a réussi à faire un truc pas trop trop dégueulasse en 3.5 milliards d’années pourtant. Juste avec un langage comprenant 4 symboles (ou 64, selon le point de vue). Le challenge de l’IA consiste à :
reproduire ce résultat
l’améliorer
Sachant que (2) viens quasiment automatiquement avec (1)
mais je n'avais pas vu de gesionnaire de mots de passes qui soit libre, dont on peut installer sa propre instance, disponible à distance, et si possible pas en Java ou NodeJS
Sinon, pourquoi utiliser SHA256 (sans salt en plus !) pour dériver une clé AES à partir d’un mot de passe, alors que PBKDF2 est fait pour ça et dispo dans WebCrypto ?
# HTTPS ou DH
Posté par Moonz . En réponse au message http session sécurité. Évalué à 2. Dernière modification le 25 juin 2018 à 14:55.
L’attaquant peut très bien avoir la même adresse IP qu’un client légitime. Un client légitime peut très bien changer d’adresse IP d’une page à l’autre (smartphone: je passe du Wifi à la 4G parce que je sors de chez moi par exemple).
La solution triviale et de bon sens à ton problème s’appelle HTTPS.
Si pour une raison étrange tu ne peux vraiment pas faire de HTTPS, tu n’as plus qu’à faire du DH à la main pour dériver un secret partagé et l’utiliser comme MAC pour authentifier ton cookie d’identifiant de session. Voir https://nacl.cr.yp.to/scalarmult.html et https://github.com/tonyg/js-nacl.
[^] # Re: Pourquoi le feraient-ils ?
Posté par Moonz . En réponse au journal Microsoft rachète Github. Évalué à 5.
Pour un bug, ton patch a de grande chances de venir de l’upstream, intégré dans la branche de dev pour la prochaine version, et tu veux juste l’appliquer en local parce que le bug en question est critique pour ton usage (ça m’est arrivé avec Gitlab)
Pour une fonctionnalité plus complexe, tu peux toujours balancer upstream pour pas avoir à maintenir.
Et cc’est sans compter que beaucoup de projets ont un système de plugins (Jenkins/Redmine me viennent en tête). Dans ma boite actuelle on a des plugins redmine développés en interne, bonne chance pour faire la même chose avec un tracker en mode SAAS.
Et sans compter que tout reste à l’intérieur de ton réseau. Je ne comprend toujours pas comment certains arrivent à tolérer qu’un service externe, sur un réseau externe, puisse se connecter sur leurs serveurs de production pour le déploiement (dans le cas où le déploiement se fait par un système de CI/CD externe).
[^] # Re: Pourquoi le feraient-ils ?
Posté par Moonz . En réponse au journal Microsoft rachète Github. Évalué à 4.
C’est justement quand tu commences à devoir debugger et intégrer que tu es content d’avoir internalisé un outil Open-Source plutot que d’être à la merci d’un presta externe bien plus gros que toi (c’est à dire pour qui ton bug/ta fonctionnalité est un ticket parmi des milliers qui sera prévu pour "dans une version ou deux, au mieux")
[^] # Re: Désinformation
Posté par Moonz . En réponse au journal Et numworks tu connais ?. Évalué à 7.
Le terme que vous cherchez est Shared Source
[^] # Re: Désinformation
Posté par Moonz . En réponse au journal Et numworks tu connais ?. Évalué à 9.
Je vais pas parler pour les autres, mais je prend mal Zenitram parce qu’il fait énormément de procès d’intention (« tu défends X parce qu’au plus profond de toi tu penses Y ». Avec Y régulièrement insultant et à côté de la plaque. Pour caricaturer un poil (mais à peine): « Tu défends Brendan Eich parce que en fait tu es homophobe »)
Quand il se contente d’assertions pragmatiques, c’est probablement un des contributeurs les plus agréables à lire.
[^] # Re: Les UUID, l'idéal... pour rendre illisible un fstab.
Posté par Moonz . En réponse au journal Monter une partition - Merci Gnome !. Évalué à 1.
Pourquoi s’embêter à sortir LVM si tu peux te contenter de partitions GPT ? LVM c'est spécifique Linux et ça nécessite des trucs en userland.
[^] # Re: Pourquoi se donner tant de mal ?
Posté par Moonz . En réponse au journal [bookmark] terminaux et protection contre la copie. Évalué à 3.
Si tu es prêt à installer calibre, c’est que tu as un minimum confiance dans les devs de calibre pour pas mettre de la merde dans leur code. Confiance qu’il est tout à fait raisonnable d’étendre à
linux-installer.py
écrit par les même personnes.[^] # Re: bitwarden ?
Posté par Moonz . En réponse à la dépêche Gestionnaires de mots de passe. Évalué à 2.
https://github.com/jcs/bitwarden-ruby/
[^] # Re: Le retour de gentoo?
Posté par Moonz . En réponse au journal ARM vs Intel. Évalué à 4.
Je crois qu’il voulait dire "rolling release".
# Dans ton propre lien gist…
Posté par Moonz . En réponse au message Ranges filter IPv4 et IPv6. Évalué à 2.
https://github.com/symfony/http-foundation/blob/master/IpUtils.php
[^] # Re: vie privée, Cloudflare, blague ?
Posté par Moonz . En réponse au journal Cloudflare annonce 1.1.1.1, le résolveur DNS orienté grand public et vie privé le plus rapide. Évalué à 10.
https://news.ycombinator.com/item?id=16727869
[^] # Re: Bêtise naturelle
Posté par Moonz . En réponse au journal "Intelligence artificielle", vraiment?. Évalué à 5.
Ceci dit, ce n’est pas si faux que ça.
Le cœur de l’algo en lui-même n’a pas connaissance des règles du jeu. Par exemple, aux échecs, AlphaZero n’a nulle part la connaissance explicite qu’un cavalier peut se déplacer de deux cases vers la gauche et d’une case vers le haut en un mouvement. Tout ce qu’il a, c’est d’un côté en entrée une matrice 8x8 qui se trouve être à 1 quand un cavalier est présent dans la case correspondante, et en sortie une matrice 8x8 qui, quand elle est à 1, est interprétée par le moteur d’échecs (dont AlphaZero n’a pas connaissance) par "déplacer le cavalier présent à cette case de deux cases vers la gauche et une case vers le haut". Mais nulle part AlphaZero lui-même n’a de notion de cavalier et de déplacements légaux associés à cette pièce. Ou de règles de captures. Tout ceci, il doit l’apprendre.
[^] # Re: mauvais
Posté par Moonz . En réponse au journal "Intelligence artificielle", vraiment?. Évalué à 3.
Les discussions évoluent. C’est juste que le grand public a constamment 30 ans de retard, donc si tu compares les discussions quasi-académiques d’il y a 30 ans et les discussions du grand public d’aujourd’hui, ça donne cette impression.
Le "Godel, Escher, Bach" (c’est à dire une vulgarisation des débats contemporains) de ~2010 c’est "Rationality: From AI to Zombies", pas l’express…
[^] # Re: Celery
Posté par Moonz . En réponse au message *MQ. Évalué à 2.
Ça m’a l’air assez proche de ce que je cherche, merci !
[^] # Re: VSC
Posté par Moonz . En réponse au journal Le débat est clos. Évalué à 5.
C’est bien parce que j’aime bien automatiser que je n’aime pas les IDE.
Un debugger graphique intégré c’est effectivement sympa la plupart du temps. Jusqu’au jour où tu veux automatiser une session de debugging en combinaison avec
git bisect
.Une chaine de build automagique intégré à l’IDE c’est sympa la plupart du temps. Jusqu’au jour où tu veux automatiser le déploiement sur une instance de recette avec docker.
[^] # Re: Sympa ton journal
Posté par Moonz . En réponse au journal Des vieilles bases d'unix à la hype reactive actuelle. Évalué à 6. Dernière modification le 07 mars 2018 à 08:44.
En JS moderne tu as
await
pour éviter ça[^] # Re: N'importe quoi !
Posté par Moonz . En réponse à la dépêche Interview de Dimitri Fontaine, contributeur majeur à PostgreSQL. Évalué à 5.
Je suis désolé, mais pour moi c’est ça qui est à courte vue.
La plupart des développeurs n’ont que des besoins extrêmement basiques de persistance. Demander d’avoir à maîtriser SQL pour ça n’est pas raisonnable. On ne demande pas à un développeur de savoir rebalancer un RB+-tree pour utiliser un système de fichier, ou de connaitre en détails comment fonctionne la couche MAC du wifi pour faire une requête HTTP.
Le progrès en ingénierie informatique, c’est le développement d’abstractions simples d’utilisation (système de fichier, TCP) adaptées à un besoin précis et répandu. Si le « monde BDD » (j’inclus là dedans SGBDR et ORM) n’est pas capable de fournir une telle abstraction pour des besoins de persistance basique, le problème vient du monde BDD, pas des développeurs.
# cfssl
Posté par Moonz . En réponse au message PKI sous Linux. Évalué à 4.
OpenVPN utilise easy_rsa pour gérer sa PKI (clés serveurs, clés clients, CA). C’est assez pénible à l’utilisation par contre.
J’ai entendu parler de cfssl (https://github.com/cloudflare/cfssl), mais j’ai jamais testé.
[^] # Re: Nom de domaine intranet?
Posté par Moonz . En réponse au journal Letsencrypt désactive l'authentification tls-sni. Évalué à 4.
Après, en interne, tu peux te faire ta propre CA dont tu installes les certificats sur les postes clients.
[^] # Re: NodeJS
Posté par Moonz . En réponse au journal Hutch, gestionnaire de mots de passe. Évalué à 2. Dernière modification le 21 décembre 2017 à 12:58.
Tu peux très bien utiliser du code envoyé par un serveur auquel tu ne fais pas confiance, tant que tu obtiens la signature du code par un canal de confiance.
https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
[^] # Re: "Intelligence artificielle"
Posté par Moonz . En réponse au journal Société de Cristal de Max Harms. Évalué à 2.
L’ADN mitochondrial est soumis aux mêmes pressions de sélection que l’ADN classique. Et presque aux mêmes mécanismes de mutation. Qu’il soit dans la mitochondrie plutôt que dans le noyau ne change pas grand chose du point de vue de la sélection naturelle.
Ben comme tu dis, tout ceci fait partie de l’environnement, que l’évolution prend en compte. Exactement comme un développeur prend en compte l’environnement dans lequel son programme est supposé tourner.
[^] # Re: "Intelligence artificielle"
Posté par Moonz . En réponse au journal Société de Cristal de Max Harms. Évalué à 1.
Non, mais c’est la seule composante sur laquelle "l’évolution" "programme".
[^] # Re: "Intelligence artificielle"
Posté par Moonz . En réponse au journal Société de Cristal de Max Harms. Évalué à 1. Dernière modification le 18 décembre 2017 à 11:44.
L’évolution a réussi à faire un truc pas trop trop dégueulasse en 3.5 milliards d’années pourtant. Juste avec un langage comprenant 4 symboles (ou 64, selon le point de vue). Le challenge de l’IA consiste à :
Sachant que (2) viens quasiment automatiquement avec (1)
[^] # Re: Ah les BSDistes
Posté par Moonz . En réponse au journal Debian sur mon serveur plus jamais, de chez jamais.. Évalué à 10.
Quel est donc cet OS miracle qui donne des garanties de sureté même quand tu remplaces leur kernel par une version modifiée par un tiers ?
# Existant
Posté par Moonz . En réponse au journal Hutch, gestionnaire de mots de passe. Évalué à 10.
Tu n’as pas bien cherché alors:
https://www.passbolt.com
https://bitwarden.com
https://github.com/clipperz/password-manager
https://github.com/ehazlett/locksmith
http://indefero.soutade.fr/p/gpass/
https://github.com/sloonz/wkr/
Sinon, pourquoi utiliser SHA256 (sans salt en plus !) pour dériver une clé AES à partir d’un mot de passe, alors que PBKDF2 est fait pour ça et dispo dans WebCrypto ?