5975 links
  • GuiGui's Show

  • Home
  • Login
  • RSS Feed
  • Tag cloud
  • Picture wall
  • Daily
Links per page: 20 50 100
◄Older
page 263 / 299
Newer►
  • new gTLD Statistics - Get detailed insights about TLDs

    ÉDIT DU 19/11/2014 à 17H55 : pour ceux qui se demandent pourquoi .xyz arrive en tête : « Contestation des chiffres du .xyz : NetworkSolutions en enregistre d'autorité pour ses clients. #lesChiffres #RINDD [NDLR : Rencontres Internationales des Noms de Domaine 2014] ». Source : https://twitter.com/bortzmeyer/status/534996806258950144 FIN DE L'ÉDIT.
    31/10/2014 22:55:49 - permalink -
    - http://ntldstats.com/
    nomarkdown
  • Cauchemar de codeur | CommitStrip - Blog relating the daily life of web agencies developers

    Il y a tellement de mises en prod' le vendredi à 16h un peu partout que ça ne veut plus rien dire le "ho noooon on ne met rien en prod' le vendredi". M'enfin bref ...
    31/10/2014 19:25:58 - permalink -
    - http://www.commitstrip.com/fr/2014/10/31/a-coder-nightmare/
    nomarkdown
  • Verizon Injects Unique IDs Into HTTP Traffic - Slashdot

    Un exemple de plus d'altération du trafic par un FAI ... Adieu, neutralité des réseaux. Ça me rappelle la pub incrustée sur les sites web à l'époque du 56k (ou celle remplacée par celle de la régie affiliée au FAI, c'est bien pareil) et les récursifs-cache DNS menteurs.

    Via http://sebsauvage.net/links/?3O14uA
    26/10/2014 03:02:08 - permalink -
    - http://yro.slashdot.org/story/14/10/24/2052218/verizon-injects-unique-ids-into-http-traffic
    nomarkdown
  • Hacking d'​applications Android [sebsauvage]

    « J'utilise ici le terme “hacking” dans son sens noble: Comprendre le fonctionnement et modifier pour l'adapter à ses besoins.

    Je vais donc décrire ici la manière d'examiner et modifier une application Android (fichier .apk). La motivation est double:
        - S'amuser à bidouiller et comprendre le fonctionnement des applications (en particulier le code machine Dalvik d'Android).
        - Protéger sa vie privée en coupant certaines fonctionnalités des applications (géolocalisation, etc.) »
    25/10/2014 14:35:21 - permalink -
    - http://sebsauvage.net/wiki/doku.php?id=apk-hacking
    nomarkdown
  • Gogs: Go Git Service - A self-hosted Git service written in Go

    J'ai voulu tester Gogs, réputé plus léger que Gitlab.

    Pour l'installer, plusieurs méthodes sont possibles : sources, binaires ou dépôt apt. J'ai choisi dépôt apt.

    Les instructions : https://packager.io/gh/pkgr/gogs/install?bid=87#wheezy . C'est le minimum syndical puisqu'on utilise "root" pour se connecter à la base de données au lieu d'utiliser un compte dédié à gogs. Bon, on peut toujours améliorer soi-même mais je trouve que la sécurité devrait être beaucoup plus prise en compte dans les instructions d'installation surtout quand elle n'est pas complexe à déployer.

    IMPORTANT : à la fin complète de l'installation, il faut : ln -s /etc/gogs/conf/app.ini /opt/gogs/custom/conf/app.ini (mieux qu'un cp car, comme ça, vous avez un seul fichier à modifier). Sans ça, il est impossible d'utiliser les fonctionnalités git (clone, push, ...). L'utilisateur voit : « fatal: protocol error: bad line length 8208 », « fatal: The remote end hung up unexpectedly » et dans les logs (/var/log/gogs/serv.log), on a « Fail to execute git command: exit status 128 » O_O

    C'est assez curieux. Le fichier /etc/gogs/conf/app.ini est utilisé par une partie de gogs mais pas par la commande « gogs serv » qui est celle lancé lors d'un git over SSH. Si on lance ce binaire à la main, il nous dit :
    « [W] No custom 'conf/app.ini' found, please go to '/install'
    Hi XXX ! You've successfully authenticated, but Gogs does not provide shell access. »
    Évidemment, le warning n'a pas une valeur d'avertissement mais d'arrêt critique ...

    Mon avis sur Gogs ? Plutôt négatif.
        + Plus léger que Gitlab, c'est clair.

        - Codé en Go ... Juste N-O-N ... Après les serveurs XMPP en erlang/lua, voici venu un code en Go sur nos serveurs de prod'. Juste N-O-N.

        - C'est en rolling release (dev' continu). Donc les màj via apt fusent (on peut toujours géler le package gogs, http://shaarli.guiguishow.info/?TccM8g, mais c'pas le top), les versions aussi, ... On ne peut pas avoir une branche stable avec juste les màj des sécu ? C'est le minimum pour un environnement de prod' bowdel.

        - Le code n'est pas clair, surtout dans la version packagée : un warning qui devrait être un critical, un fichier de conf' utilisé par une partie du code, un autre fichier de conf' par une autre partie du code, ...

        - Des templates pas super bien conçus, particulièrement celui de la page d'accueil. Et si je veux changer le titre (<h1> et <h2>, pas <title>) ? Tout comme pour <title>, une variable de config devrait être proposée.

    Merci à Nath96 (http://www.nath96.netlib.re/) pour la motivation à essayer ce bouzin et pour le debug. :)
    20/10/2014 02:26:23 - permalink -
    - http://gogs.io/
    nomarkdown
  • DSA 3050-1 - iceweasel security update - WTF ? O_O

    « Multiple security issues have been found in Iceweasel, Debian's version of the Mozilla Firefox web browser: Multiple memory safety errors, buffer overflows, use-after-frees and other implementation errors may lead to the execution of arbitrary code, denial of service, the bypass of the same-origin policy or a loss of privacy.

    [...]

    In addition, this update also disables SSLv3. »

    Jusque là c'est parfaitement légitime.

    « This update updates Iceweasel to the ESR31 series of Firefox. The new release introduces a new user interface. »

    WTF ?! Pardon ?! O_O Depuis quand une security update s'occupe d'autre chose que de sécurité ?! Une mise à jour de sécurité doit corriger les failles détectées, un point c'est tout. C'est ça pour moi, l'une des qualités de Debian stable : la production ne pète pas à la tronche de l'adminsys ! Quand bien même c'est l'interface graphique d'un des logiciels que j'utilise le plus sur mes machines hors prod'. Que j'apprécie ou pas l'interface Australis de Firefox n'entre pas en ligne de compte dans cette histoire. J'imagine qu'il y a une raison derrière (comme par exemple que la team Debian Security avait annoncé qu'elle n'allait plus s'occuper des navigateurs web car c'trop le bordel) mais quand même, je suis très déçu de voir ça.


    ÉDIT du 01/11/2014 à 16h25 : même chose aujourd'hui avec le DSA 3061-1 sur Icedove :
    « Multiple security issues have been found in Icedove

    [...]

    This update updates Iceweasel to the ESR31 series of Thunderbird. In addition Enigmail was updated to version 1.7.2-1~deb7u1 to ensure compatibility with the new upstream release.

    Mozilla implemented TLS 1.2 in NSS version 3.15.1 and Thunderbird 31.0 uses this as the default. It won't fall back to older protocol versions.

    This means every connection from Thunderbird/Icedove to a mail server will using TLS 1.2 with no fall back if you have configured TLS/SSL or STARTTLS for your connections. »

    D'après mes tests, ce n'est pas aussi disruptif que ça en a l'air : en désactivant TLSv1.2 dans smtpd de Postfix, Icedove (configuré pour utiliser STARTTLS) accepte de négocier TLSv1.1 (cf le log Postfix :  « TLS connection established from <lala>: TLSv1.1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits) »). En désactivant TLSv1.2 et TLSv1.1, Icedove accepte de négocier TLSv1.0 . Je n'ai pas pu tester la partie IMAP/STARTTLS puisque Dovecot permet seulement de désactiver SSLv2, SSLv3 et TLSv1.  FIN DE L'ÉDIT.


    ÉDIT du 08/12/2014 à 20h25 : même chose aujourd'hui avec Icedove qui ne supporte plus SSLv3 : « Due to the  BEAST vulnerability Icedove does not support SSLv3 encrypted connections by default any longer. ». C'est une bonne chose en soi mais est-ce à une màj de sécurité annoncée pour autre chose (cf le DSA ne parle pas de cette désactivation de SSLv3) de faire ce choix ? Par ailleurs, BEAST concerne aussi TLSv1.0 quand des ciphers CBC sont utilisés donc l'argument est un peu moisi ...  FIN DE L'ÉDIT.
    19/10/2014 17:39:31 - permalink -
    - http://shaarli.guiguishow.info/?o4PBPg
    nomarkdown
  • GuiGui's show » Basculer une zone DNS signée d’une instance d’OpenDNSSEC à une autre

    « On a deux instances d'OpenDNSSEC, instance A et instance B, sur deux machines différentes. L'instance A signe déjà 4 zones. L'instance B, une seule. On souhaite factoriser et garder une seule instance OpenDNSSEC, c'est-à-dire basculer la zone de l'instance B vers l'instance A. Le serveur DNS qui fait autorité sur la zone ne change pas, lui, seule l'instance OpenDNSSEC derrière change.

    Évidemment, durant cette transition, il ne faut pas casser (même temporairement) la chaîne de confiance ni faire un roulement des clés (le roulement planifié ayant eu lieu récemment, cette solution serait possible mais sans intérêt) sinon c'est trop facile et ce n'est pas fun. »
    19/10/2014 17:36:34 - permalink -
    - http://www.guiguishow.info/2014/10/18/basculer-une-zone-dns-signee-dune-instance-dopendnssec-a-une-autre/
    nomarkdown
  • Autour de POODLE (SSLv3)

    POODLE, tout comme Heartbleed en son temps, fait couler beaucoup d'octets dans les internets ces derniers jours. Je vais donner mon avis sur ce que je pense être un effet de mode et surtout, une précipitation.

    Disclaimer :
        1) Je ne suis pas un security guru.
        2) Ce que je vais dire s'applique dans le cadre de petits serveurs (auto-hébergés ou non) sans trop de trafic et sans contrainte. J'veux dire que je ne tiendrais pas le même discours s'il s'agissait du site web d'une banque ou d'un site web d'e-commerce ou d'un site web à très fort trafic (sur la partie ECDSA versus RSA). On constate d'ailleurs que, dans ces contextes-là, la réalité est toute autre que celle que je vais décrire car il y a le côté opérationnel à prendre en compte : https://imirhil.fr/ssl.html ;)


    Commençons par POODLE (voir, entre autres http://seenthis.net/messages/302666) : il s'agit d'une faille dans le protocole SSLv3, pas d'un bug dans une implémentation particulière (comme OpenSSL). Ça m'en touche une sans faire bouger l'autre dans le sens où TLSv1.0 c'est so 1999 et que SSL est déprécié depuis fort longtemps. C'est un problème humain (adminsys consciencieux) et opérationnel (gérer les vieux clients dans certains contextes comme banques/e-commerce, frilosité au changement, ...). Sur nos petits serveurs persos, ça devrait être désactivé sans soucis à moins que les parts de marché d'IE6, 3,8 % au niveau mondial et 0.8 % en France en septembre 2014 revendiquées par Microsoft (https://www.modern.ie/en-us/ie6countdown), la réalité doit être légèrement supérieure ainsi que des appliances/automates proprios désuets ne vous intéressent. Après si le raffut inutile de ces derniers jours permet des  prises de conscience, pourquoi pas ...




    L'ennui, c'est que je vois, principalement sur IRC, des adminsys se questionner sur la conf' TLS de leurs logiciels serveurs, ce qui est une bonne chose comme je viens de le dire, mais en poussant le vice trop loin. Mon plus grand conseil sera le suivant : gardez la raison, ne faites pas n'importe quoi, n'affaiblissez pas vos confs en croyant les renforcer. La sécurité dans l'urgence ne marche jamais. N'écoutez pas aveuglément toutes les ressources sur le web, n'écoutez pas aveuglément un validateur quand bien même il est aussi bien foutu que celui de ssllabs (https://www.ssllabs.com/ssltest/) ! À ce sujet, voir, par exemple, l'illustration avec BEAST : https://community.qualys.com/blogs/securitylabs/2013/09/10/is-beast-still-a-threat - « Unfortunately, the only way to mitigate the BEAST attack is to enforce the use of RC4 suites whenever TLS 1.0 and earlier protocols are used (which is most of the time at this point). I say "unfortunately", because very shortly after we had started requiring server-side mitigations, new research about RC4 came out and we found out that this cipher was much weaker than previously thought. The weaknesses were not of immediate concern, but it was clear that RC4 was on the way out. » :)


    Parmi ces questionnements, on retrouve les questions liées au résultat du test (ssllabs ou autre) et des débats plus profonds : ECDSA ou RSA ? SHA-1 ou SHA256 pour condenser mon certificat ? Quelle liste d'algorithmes cryptographiques autoriser ? Je déploie DANE, HSTS et compagnie ? ... C'est un vice de raisonnement, à mon humble avis. La priorité, ce n'est pas de passer en ECDSA comme si RSA vivait ses derniers instants ou de passer immédiatement à SHA256 pour condenser son certificat ou de passer à RSA 4096 bits au lieu de 2048 bits parce qu'un validateur vous l'a *conseillé* (« When renewing, ensure [...] »). L'important à l'heure actuelle, à mon humble avis, et ça sera mon deuxième grand conseil, c'est de garder la confiance et pour ça, de ne pas générer d'erreurs du côté de l'utilisateur et pour ça, de ne pas casser vos certificats x509 et les configurations de vos logiciels serveurs. On corrige donc les failles bien actuelles comme Poddle et, si l'on en a la motivation, on durcit la conf' TLS de ses logiciels serveurs en douceur.


    Je vais quand même donner mon avis sur ces questionnements, ça serait idiot de dénigrer au lieu de guider.
        - Courbes elliptiques (ECDSA) versus RSA : c'est un débat théorique qui amuse les cryptologues mais ça n'a aucune réalité pratique. Les limites de la cryptographie interviennent sur des choses beaucoup plus connes et concrètes (générateur de nombres pseudos aléatoires pas assez aléatoires, bug logiciel, cryptographie mal utilisée (de la crypto avec IE6 sous XP, comment dire ...), ...) Les deux procédés sont toujours d'actualité. Le seul argument de plus en faveur des courbes elliptiques est leur faible taille (à niveau de sécurité jugé équivalent) et des temps de traitement plus courts donc une montée en charge des sessions TLS avec de nombreux clients facilitée. Les algos ECDHE-* sont moins gourmands que leurs homologues DHE-*. Sur des serveurs persos, ce gain n'a pas d'intérêt. Ce n'est pas pour autant que je crache sur ECDSA. Quant à utiliser les courbes elliptiques dans les certificats x509, le gain est encore moins évident : la validation du certificat se fait au début de la session TLS, pas en continu et sur le client (usage standard). Ne cassez pas vos certificats actuels parce qu'on vous a dit que RSA c'est fini à cause de POODLE, ça serait contre-productif !


        - SHA-1 / SHA256 comme fonction de condensation dans les certificats x509. SHA-1 sera peut-être dans les prochains algos cryptographiques à tomber donc il faut préparer la migration vers mieux (SHA256) mais, pour l'instant, on n'a aucune attaque efficace et imminente contre SHA-1.  Alors oui, je sais, le méchant Google a annoncé qu'ils vont favoriser de pas beaucoup les sites web accessibles en HTTPS puis qu'ils vont virer SHA-1 à eux tous seuls (voir : http://googleonlinesecurity.blogspot.co.uk/2014/09/gradually-sunsetting-sha-1.html) ... Tout ça pour se racheter suite aux révélations de Snowden, ce qu'il ne faut pas faire. :)

            1) On ne panique pas et je ne suis pas seul à tenir ce discours :  https://community.qualys.com/blogs/securitylabs/2014/09/09/sha1-deprecation-what-you-need-to-know . De plus, Google vont pénaliser d'abord les certificats auto-signés, ne nous faisons pas d'illusions donc SHA-1 versus SHA256, ça se place là dans l'ordre des priorités quoi.
            2) Google est-il vraiment indispensable pour la survie de nos sites web persos pas monétisés ?
            3) On regarde les certificats des AC (oui, toute la chaîne de confiance doit être SHA256, pas que les certificats finaux, sinon c'est stupide) présents dans le magasin de certificats Debian (ça serait pareil avec celui de Mozilla, juste ce check s'automatise bien) et on voit que la messe est dite :
                    Total : 960 - 100 %
                            md5 (/!\ depuis le temps que MD5 est *mort* ce qui n'est même pas encore le cas de SHA-1)  : 66 - ~ 7 %
                            sha1 : 744 - 77,5 %
                            sha256 : 114 - ~ 12 %
                            sha384 : 36 - 3,75 %

            Donc, passer à SHA256 lors du prochain renouvellement normal de votre certificat (car il va expirer), c'est une bonne idée, bien sûr. Dans le contexte actuel, crise/peur (avérée ou imaginée, ça revient au même), c'est une mauvaise idée pour si peu : maintenir la confiance est primordiale (surtout avec les certificats autosignés ou AC autosignée) comme je l'ai écrit plus haut.


        - Je pense le plus grand bien de DANE (voir http://shaarli.guiguishow.info/?y6WIyg) mais déployons déjà DNSSEC (qui est un pré-requis) convenablement, avec des procédures (roulement des clés) éprouvées et on pourra ensuite se mettre à DANE. Il n'y a aucun serveur/client dans sa branche stable (au sens Debian, lala :D) qui utilise ces enregistrements donc rien ne presse : le gain de sécurité ne sera pas imminent. Mais là encore, ajouter ça sur sa TODO des choses à faire à moyen terme est une bonne idée.


        - HSTS (voir : http://www.bortzmeyer.org/6797.html) est encore une bonne idée. Mais réfléchissez bien avant de déployer : la configuration doit être parfaite car la moindre erreur est bloquante et mise en cache quand on active HSTS ! Par ailleurs, les certificats autosignés génèrent des erreurs donc ça va plutôt mal se passer avec HSTS.


        - Faut-il tuner le cache des sessions TLS ? S'il n'y a aucun inconvénient à l'activer, Il faut mesurer le gain d'aller le tuner finement. Sur un service avec 10 connexions (css/images inclues pour un site web) par tranche de 30 mns, bof, le cache va pas servir des masses donc aller tuner ça comme pour un site à fort trafic, c'est sans grand intérêt, àmha, autant se reposer sur les paramètres par défaut des logiciels serveurs. Sur un serveur mail, avec la concentration des acteurs, l'abonnement à des ML, ... ça se justifie déjà plus mais stay relax quand même. :D




    Pour les confs TLS de mes logiciels (elles sont disponibles à la fin de ce shaarli et valent ce qu'elles valent), je me base sur ces ressources déjà pointées dans d'autres de mes shaarlis :
        - Conf' « SSL/TLS » par Benjamin Sonntag à Il était une fois Internet. Les configurations présentées après un exposé plus général sont détaillées et expliquées. http://confs.fr/ssltls-benjamin-sonntag/
        - Pour des configurations clé en main de logiciels serveurs courants et une liste d'algorithmes à privilégier (attention, Mozilla, ça peut être biaisé pour garder la compatibilité avec les anciennes versions de Firefox/Thunderbird/autre) : https://wiki.mozilla.org/Security/Server_Side_TLS


    Enfin, àmha, la priorité (en général, pas POODLE), ce n'est pas tellement nos petits serveurs web qui servent des sites web à contenu informatif (donc pas e-commerce / banque / dépôt de  données personnelles / contenu "sensible" où sensible se défini du point de vue du visiteur, pas du nôtre). Non, la priorité c'est nos serveurs mails (SMTP *ET* IMAP) et nos serveurs XMPP (C2S et S2S). C'est là qu'est le vrai contenu privé que l'on veut protéger. D'ailleurs, pour tester la conf' TLS votre serveur XMPP, voir : http://shaarli.guiguishow.info/?AKSlXA .

    Donc, pour résumer : -SSLv2/-SSLv3, -RC4 (oui, je sais, BEAST mais sur nos petits serveurs persos, je pense qu'on peut ignore l'usage de TLSv1.0), +PFS (Perfect Forward Secrecy, confidentialité persistante, les échanges sécurisés précédant une compromission d'une clé privée ne sont pas eux-mêmes compromis et restent donc secrets. Donc Diffie-Hellman éphémère donc algos DHE-*, ECDHE-*) et on se relaxe. \o/




    Les configurations TLS de mes logiciels serveurs :

    ÉDIT DU 03/01/2016 À 23H00 : J'ai mis à jour ces configs avec les dernières directives de configuration disponibles dans les versions packagées dans Debian GNU/Linux Jessie. FIN DE L'ÉDIT.

    Apache2 :
        SSLEngine on
       
        SSLCertificateFile    /etc/apache2/ssl/viki.crt
        SSLCertificateKeyFile /etc/apache2/ssl/viki.key

        SSLProtocol All -SSLv2 -SSLv3
           
        SSLCipherSuite ALL:!aNULL:!eNULL:!EXP:!RC4:!3DES:!MD5:!LOW:+HIGH:+MEDIUM
        SSLHonorCipherOrder on

        # Par defaut
        SSLCompression off
        SSLSessionCacheTimeout 300

        # Parametres DH - Ils sont auto generes selon la taille de la cle
        # utilisee. Si l'on veut des dhparam personnalises, cela necessite
        # openssl 1.0.2 pas encore dans Jessie ou de les concat a la fin du
        # fichier contenant le certif x509 aka c'est crade...
        # SSLOpenSSLConfCmd DHParameters "/etc/apache2/ssl/dh_4096.pem"

        # Cache partages des sessions TLS : mod_socache_* sont necessaires
        # mais pas encore dispo dans Debian stable (01/02/2014)
        # Un cache partages des sessions TLS ne se justifie pas ici :
        # contenu simple : pas besoin de plusieurs connexions simultanees
        # et utilisateurs qui ne reviennent pas dans des delais brefs, en majorite




    nginx :
        ssl on;

        ssl_certificate /etc/nginx/ssl/pokedex.crt;
        ssl_certificate_key /etc/nginx/ssl/pokedex.key;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        ssl_ciphers ALL:!aNULL:!eNULL:!EXP:!RC4:!3DES:!MD5:!LOW:+HIGH:+MEDIUM;
        ssl_prefer_server_ciphers on;

        # Compression TLS desactivee par defaut dans nginx

        # Parametres DH
        ssl_dhparam /etc/nginx/ssl/dh2048.pem;

        # Par defaut
        ssl_session_timeout 5m;

        # Un cache partages des sessions TLS ne se justifie pas ici :
        # contenu simple : pas besoin de plusieurs connexions simultanees
        # et utilisateurs qui ne reviennent pas dans des delais brefs, en majorite




    Dovecot :
        ssl = required

        ssl_cert = </etc/postfix/ssl/pokedex.crt
        ssl_key = </etc/postfix/ssl/pokedex.key

        ssl_protocols = !SSLv2 !SSLv3

        ssl_cipher_list = ALL:!aNULL:!eNULL:!EXP:!RC4:!3DES:!MD5:!LOW:+HIGH:+MEDIUM
        ssl_prefer_server_ciphers = yes

        # Parametres DH. 4096 bits dans cet exemple car
        # ca correspond a la taille de ma cle
        ssl_dh_parameters_length = 4096

        # Dovecot ne propose aucune autre option




    ejabberd :
        ## c2s (bloc listen)
        -
          port: 5222
          ip: "::"
          module: ejabberd_c2s
          max_stanza_size: 65536
          shaper: c2s_shaper
          access: c2s

          # TLS est obligatoire entre un client XMPP (gajim par ex) et le serveur
          starttls: true
          starttls_required: true

          # attention, il faut chainer le certificat x509 et la cle privee.
          # Exemple : cat pokedex.crt pokedex.key > pokedex.crt+key
          certfile: "/etc/ssl/mycert/pokedex.crt+key"
         
          protocol_options:
            - "no_sslv2"
            - "no_sslv3"
            - "cipher_server_preference"

          ciphers: "ALL:!aNULL:!eNULL:!EXP:!RC4:!3DES:!MD5:!LOW:+HIGH:+MEDIUM"

          # Parametres DH. Pas avant ejabberd 15.06 qui n'est pas dans Debian Jessie
          # J'utilise des parametres de 4096 bits car en accord avec la taille
          # de la cle utilise dans mon certificat x509
          dhfile: "/etc/ejabberd/ssl/dh_4096.pem"

        [...]

        # s2s (pas de bloc specifique)

        # TLS est obligatoire entre deux serveurs XMPP. Attention, beaucoup de
        # serveurs XMPP ne supportent pas TLS (exemple : Google) donc ça peut
        # empecher de parler a des contacts. On peut mettre la valeur a optional
        # dans ce cas
        s2s_use_starttls: required

        # Voir la remarque ci-dessus pour certfile
        s2s_certfile: "/etc/ssl/mycert/pokedex.crt+key"

        # Voir la remarque ci-dessus pour protocol_options
        s2s_protocol_options:
          - "no_sslv2"
          - "no_sslv3"
          - "cipher_server_preference"

        s2s_ciphers: "ALL:!aNULL:!eNULL:!EXP:!RC4:!3DES:!MD5:!LOW:+HIGH:+MEDIUM"

        # Voir la remarque ci-dessus pour dhfile
        s2s_dhfile: "/etc/ejabberd/ssl/dh_4096.pem"




    Postfix :

    ÉDIT DU 20/06/2020 : cette configuration est erronée. Voir la nouvelle ici : http://shaarli.guiguishow.info/?m68qkQ . FIN DE L'ÉDIT.

        # TLS - serveur
        smtpd_tls_security_level = may

        # On n'accepte pas d'auth si pas de TLS
        smtpd_tls_auth_only = yes

        smtpd_tls_cert_file = /etc/postfix/ssl/pokedex.crt
        smtpd_tls_dcert_file = $smtpd_tls_cert_file
        smtpd_tls_key_file = /etc/postfix/ssl/pokedex.key
        smtpd_tls_dkey_file = $smtpd_tls_key_file

        smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

        smtpd_tls_protocols = !SSLv2, !SSLv3

        smtpd_tls_mandatory_ciphers = medium
        tls_medium_cipherlist = ALL:!aNULL:!eNULL:!EXP:!RC4:!3DES:!MD5:!LOW:+HIGH:+MEDIUM
        smtpd_tls_exclude_ciphers = aNULL, eNULL, EXP, RC4, 3DES, MD5, LOW
        tls_preempt_cipherlist = yes

        # Parametres DH. Oui, 1024 -> 4096 ... ça vient de la doc Postfix
        # J'utilise des parametres de 4096 bits car en accord avec la taille
        # de la cle utilise dans mon certificat x509
        smtpd_tls_dh1024_param_file = /etc/postfix/ssl/dh_4096.pem

        # Cache partages des sessions TLS (expire au bout d'une heure par defaut)
        smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_tls_cache

        smtpd_tls_loglevel = 1


        # TLS - client
        smtp_tls_security_level = $smtpd_tls_security_level

        smtp_tls_cert_file = $smtpd_tls_cert_file
        smtp_tls_dcert_file = $smtpd_tls_dcert_file
        smtp_tls_key_file = $smtpd_tls_key_file
        smtp_tls_dkey_file = $smtpd_tls_dkey_file

        smtp_tls_CAfile = $smtpd_tls_CAfile

        smtp_tls_protocols = $smtpd_tls_protocols

        smtp_tls_mandatory_ciphers = $smtpd_tls_mandatory_ciphers
        smtp_tls_exclude_ciphers = $smtpd_tls_exclude_ciphers

        # Cache partages des sessions TLS (expire au bout d'une heure par defaut)
        smtp_tls_session_cache_database = btree:${data_directory}/smtp_tls_cache

        smtp_tls_loglevel = $smtpd_tls_loglevel




    Quelques précisions :
        - Oui, je ne me fais pas chier avec une liste de ciphers longue comme le bras car c'est, àmha, trop chiant à maintenir pour un gain de sécurité pas évident du tout à mesurer par rapport à utiliser les groupements OpenSSL (ou GnuTLS, c'est bien pareil) et à exclure quelques suites d'algos. Du coup, je vire simplement les algos pourris (RC4, 3DES, MD5, ceux classés en LOW dans OpenSSL) ou inexistants (aNULL, eNULL) et j'utilise les algos classés comme HIGH puis comme MEDIUM. L'ordre sera celui du serveur : le client prendra la suite d'algos la plus forte qu'il supporte.

        - Vu que j'ai un seul certificat x509 par machine, les /etc/<logiciel_serveur_>/ssl/lala.(crt|key) sont des liens symboliques vers /etc/ssl/mycert/ . Factorisation toussa.

        - Oui, je ne fais pas encore le chaînage des certificats pour fournir une chaîne de confiance complète à mes visiteurs, c'est sur ma TODO pour le prochain renew des certificats.

        - Rappel des valeurs par défaut dans mes confs c'est juste pour m'en souvenir / retrouver facilement.
    17/10/2014 23:01:28 - permalink -
    - http://shaarli.guiguishow.info/?GPqmpA
    nomarkdown
  • Piloter des moteurs d'instrumentalisation, avec des boîtiers Newport SMC100CC, dans un labo de biologie, sous GNU/Linux

    Dans un labo de recherche français, il y a du matos Newport SMC100CC pour piloter des moteurs avec le logiciel Micro-Manager (Java mais LGPL/BSD donc ça va :D). Notons que la version GNU/Linux compilée depuis les sources ne gère pas le boîtier Newport alors que la version winwin gère pour une raison encore non identifiée :/

    Le but étant de monter une plate-forme d'acquisition : images prises au microscope de cellules/embryon et des moteurs pour déplacer le sujet entre chaque prise.

    La caméra apposée au microscope, une Hamamatsu, n'a pas (encore ?) de pilote libre utilisable sous GNU/Linux donc c'est plié. En revanche, le Newport SMC100CC, boîtier d'interfaçage avec les moteurs, se pilote via un port série. La datasheet étant disponible en ligne (http://assets.newport.com/webDocuments-EN/images/SMC100CC_And_SMC100PP_User_Manual.pdf), on sait quelles commandes il faut passer pour communiquer avec les moteurs. \o/

    Ici nous  utilisons un convertisseur série<->USB d'où ttyUSB0 mais ça n'a pas d'importance. Pour savoir sur quel /dev/ttySxx le port série de votre ordinateur a été mappé par le noyau, voir : http://shaarli.guiguishow.info/?ciyU6w

    Évidemment, vous devez être root, ou, beaucoup plus propre, être membre du groupe dialout ou, beaucoup plus crade, chmod o+rw /dev/ttySx (ou ttyUSB0) pour lire/écrire sur le port série, comme d'hab.

    Avec Minicom, il faut penser à ajouter le caractère LF en plus de CR pour le retour à la ligne car c'est ce qu'attend le SMC100CC. Winwin style quoi. Pour ce faire : on entre dans le mode configuration de minicom (ctrl-a + z) -> « Ecran et clavier » -> p (« Add linefeed). On peut ensuite passer des commandes.

    Ensuite, on se fatigue en essayant et on se dit qu'écrire directement dans le device avec echo, ça a la classe. Allons-y.

    On a un seul boîtier SMC100CC (ID = 1), on l'initialise (OR), on se déplace à la position 42.0 (PA42.0, le paramètre est un double), on revient à la position 0 (PA0.0), puis on reset le boîtier (RS).
    echo -e '\r\n\r\n1OR\r\n\r\n' > /dev/ttyUSB0 (moins lisible, en héxa : echo -e '\x0d\x0a1OR\x0d\x0a\x0d\x0a')
    sleep 1
    echo -e '\r\n1PA42.0\r\n\r\n' > /dev/ttyUSB0
    sleep 5
    echo -e '\r\n1PA0.0\r\n\r\n' > /dev/ttyUSB0
    sleep 5
    echo -e '\r\n1RS\r\n\r\n' > /dev/ttyUSB0

    Notons que lors d'une initialisation (OR), le moteur revient à sa position initiale (0) mais comme le temps dépend du déplacement à faire (sisi, sans blague), il vaut mieux revenir à la position d'origine avant de reset dans le but que l'initialisation se fasse en un temps fini, sans surprise.
     

    Ces boîtiers peuvent être chaînés pour piloter plusieurs moteurs en même temps. Un boîtier qui reçoit des instructions par le port série a toujours un ID = 1 !

    Dans un premier temps, il faut indiquer son ID à chaque boîtier. Pour cela, il faut le relier en série à l'ordinateur et positionner le jumper sur « first ». On initialise (OR), on change son ID pour 2 (SA2), et on reset (RS). Le boîtier se souviendra de son ID tout le temps à partir de maintenant, même en cas de reset, reboot électrique ou autre.
    echo -e '\r\n\r\n1OR\r\n\r\n' > /dev/ttyUSB0
    sleep 1
    echo -e '\r\n1SA2\r\n\r\n' > /dev/ttyUSB0
    sleep 1
    echo -e '\r\n1RS\r\n\r\n' > /dev/ttyUSB0

    Pareil pour le deuxième boîtier :
    echo -e '\r\n\r\n1OR\r\n\r\n' > /dev/ttyUSB0
    sleep 1
    echo -e '\r\n1SA3\r\n\r\n' > /dev/ttyUSB0
    sleep 1
    echo -e '\r\n1RS\r\n\r\n' > /dev/ttyUSB0


    Maintenant, on stacke les boîtiers, on positionne les jumper (« first » sur le boîtier qui recevra la connexion série, « other » sur le boîtier d'ID = 2 et « last » sur le dernier boîtier de la chaîne. On peut maintenant les initialiser :
    echo -e '\r\n\r\n1OR\r\n\r\n' > /dev/ttyUSB0
    sleep 1
    echo -e '\r\n\r\n2OR\r\n\r\n' > /dev/ttyUSB0
    sleep 1
    echo -e '\r\n\r\n3OR\r\n\r\n' > /dev/ttyUSB0
    sleep 1

    Maintenant, on peut s'amuser (on déplace le moteur du premier boîtier en 42, celui du 2e en 12, ...) :
    echo -e '\r\n1PA42.0\r\n\r\n' > /dev/ttyUSB0
    echo -e '\r\n2PA12.0\r\n\r\n' > /dev/ttyUSB0
    echo -e '\r\n3PA6.0\r\n\r\n' > /dev/ttyUSB0

    Toutes les commandes que l'on utilisait avec un seul boîtier sont disponibles, il suffit de simplement de changer l'ID du boîtier auquel on s'adresse.


    Pour le fun :D :
    for ((i=0; i<43;i=i++)); do
      echo -e "\r\n\r\n1PA$i\r\n\r\n" > /dev/ttyUSB0
      echo -e "\r\n\r\n2PA$i\r\n\r\n" > /dev/ttyUSB0
      echo -e "\r\n\r\n3PA$i\r\n\r\n" > /dev/ttyUSB0
      sleep 5
    done

    On va par palier de 1 car certains moteurs sont assez sensibles.


    Pour changer un numéro d'ID. On initialise, on entre dans le mode configuration (PW1), on change l'ID pour x (SAx), on quitte le mode configuration (PW0) et on reset (RS) :
    echo -e '\r\n\r\n1OR\r\n\r\n' > /dev/ttyUSB0
    sleep 1
    echo -e '\r\n\r\n1PW1\r\n\r\n' > /dev/ttyUSB0
    sleep 1
    echo -e '\r\n\r\n1SA3\r\n\r\n' > /dev/ttyUSB0
    sleep 1
    echo -e '\r\n\r\n1PW0\r\n\r\n' > /dev/ttyUSB0
    sleep 1
    echo -e '\r\n\r\n1RS\r\n\r\n' > /dev/ttyUSB0
    sleep 1

    Maintenant, il ne manque plus qu'une interface plus pratique pour les utilisateur qui écrira sur le port série de cette manière mais on a au moins compris le fond des choses et le fonctionnement de ces boîtiers. \o/
    17/10/2014 18:15:49 - permalink -
    - http://shaarli.guiguishow.info/?u8g4KQ
    nomarkdown
  • HowToIdentifyADevice/Serial - Debian Wiki

    Sur une machine GNU/Linux, on observe plein de fichiers /dev/ttySx même sur les machines qui ne sont pas équipées d'un port série (RS232).

    Comment savoir sur quel device (/dev/ttyS?) a été mappé le port série de votre ordinateur ?

    find /sys/ -name 'ttyS*' ! -path "/sys/class/tty/*" ! -path "*serial8250*"
      - Pourquoi j'exclu les fichiers dans /sys/class/tty/ ? Pour ne pas avoir les devices eux-mêmes
      - Pourquoi j'exclu les fichiers qui se trouvent dans un chemin contenant "serial8250" ? La ressource pointée par ce shaarli l'explique très bien : « ttyS* under "serial8250" probably doesn't exist (they are present by default because it's hard to detect if they are present or not)  »

    Exemples :
      - Sur une machine sans port série :
        $ find /sys/ -name 'ttyS*' ! -path "/sys/class/tty/*" ! -path "*serial8250*"
        $ [ Aucun résultat ]

      - Sur une machine avec un port série soudé sur la carte mère :
        $ find /sys/ -name 'ttyS*' ! -path "/sys/class/tty/*" ! -path "*serial8250*"
        /sys/devices/pnp0/00:08/tty/ttyS0 [ notre port série est donc mappé sur /dev/ttyS0 ]

      - Sur une autre machine avec un port série soudé sur la carte mère :
        $ find /sys/ -name 'ttyS*' ! -path "/sys/class/tty/*" ! -path "*serial8250*"
        /sys/devices/pnp0/00:0b/tty/ttyS0  [ notre port série est donc mappé sur /dev/ttyS0 ]
    17/10/2014 17:31:21 - permalink -
    - https://wiki.debian.org/HowToIdentifyADevice/Serial
    nomarkdown
  • Blucat (netcat for Bluetooth)

    Un tool, codé en Java certes, pour lire et injecter sur les canaux RFCOMM bluetooth.

    blucat devices (recherche des périph' bluetooth dans le voisinage) et blucat services (découverte des services offerts par un périph') c'est du déjà vu avec hcitool.

    blucat scan -> scanner tous les canaux RFCOMM.

    blucat -url -> se connecter à un canal RFCOMM et voir ce qui y passe en infos (par exemple : cet outil a été utilisé pour voir ce que Firechat laisse fuiter : http://seenthis.net/messages/301715 )

    Pour créer un serveur : blucat -v -l -e /bin/bash . Ici on va donc créer un lien série et spawn un shell bash lors de la connexion du client. L'URL (utilisable avec blucat -url donc) sera donnée par la commande.

    Je n'ai rien trouvé de conviviale pour faire un chat over bluetooth comme on peut le faire avec netcat ...
      - $ blucat -v -l -e /usr/bin/write guigui
         #Mon Oct 13 15:42:59 CEST 2014 - Listening at btspp://C4D9874240F4:2
         #Mon Oct 13 15:43:09 CEST 2014 Connected
         #Mon Oct 13 15:43:09 CEST 2014 - Process Redirect Connection: /usr/bin/write guigui

         Message from guigui@porygon on (none) at 15:43 ...
         #Mon Oct 13 15:43:09 CEST 2014 Connection Closed
         #Shutting down
         #Bye

       - $ blucat -v -l -e /bin/bash
         Sur le client : echo $$. On obtient le PID du shell.

         Sur le serveur :
           - Pour recevoir des messages du client : cat /proc/<PID>/fd/0 -> la lecture est bloquante, don't panic
           - Pour envoyer des messages au client : echo "lala" > /proc/<PID>/fd/1

    Voir aussi la présentation de cet outil lors de DEFCON 21 : https://www.youtube.com/watch?v=hWPPmgQOKpk
    13/10/2014 16:41:15 - permalink -
    - http://blucat.sourceforge.net/blucat/category/commands/
    nomarkdown
  • Il y a deux sortes de programmeurs | Humeurs illustrées

    :D
    10/10/2014 00:33:14 - permalink -
    - http://www.luc-damas.fr/humeurs/il-y-a-deux-sortes-de-programmeurs/
    nomarkdown
  • Panne géante de tous les routeurs Belkin de la planète le 7 octobre entre 0600 et 0900 UTC. Tous…

    « Panne géante de tous les routeurs #Belkin de la planète le 7 octobre entre 0600 et 0900 UTC. Tous les possesseurs de ces jolis engins se sont retrouvés en même temps incapables de se connecter à l’Internet

    [...]

    Il ne s’agit pas, contrairement à ce qui a été dit souvent d’une mise à hour du firmware (ces routeurs ne sembles pas faire de mise à jour automatique). Apparemment, le problème venait de heartbeat.belkin.com, un amer que les routeurs Belkin pinguent régulièrement pour voir s’ils sont connectés à l’Internet. Le serveur en question ayant planté, tous les routeurs se croyaient déconnectés et refusaient tout service.

    Cela remarche, depuis que Belkin a mis en service plein d’autres amers (sur l’infrastructure d’Amazon EC2)

    [...]

    La technique utilisée par les routeurs Belkin pour tester leur connectivité est évidemment très fragile. Si Amazon tombe en panne, votre routeur, situé à des milliers de kilomètres, se met en rideau tout seul, même si vous n’êtes pas client d’Amazon. Comme l’analyse Roland Dobbins « It’s a great DDoS [denial of service attack] vector - take down that IP, wedge every affected Belkin CPE [consumer premises equipment] on the Internet. This kind of thing is extremely brittle, and apt to go into Sorcerer’s Apprentice Mode without warning. »

    C’est donc l’occasion de rappeler que les gadgets techniques que vous achetez sont très souvent dépendants de services extérieurs que vous ne contrôlez pas  »

    -> :')
    09/10/2014 20:36:10 - permalink -
    - http://seenthis.net/messages/300547
    nomarkdown
  • Le marché de l'emploi en une phrase

    « We're looking for someone with the wisdom of a 50-year-old, the experience of a 40-year-old, the drive of a 30-year-old and the pay scale of a 20-year-old. »

    C'pas un scoop mais c'est toujours aussi vrai.

    Via http://sebsauvage.net/links/?a04rcA
    07/10/2014 23:23:24 - permalink -
    - https://i.imgur.com/tc5h8Tu.png
    nomarkdown
  • Bertrand Lemaire on Twitter: "Soutenons les vraies familles"

    « La famille, c'est un père adoptif, une mère vierge et un fils crucifié ! »

    :D
    07/10/2014 20:33:43 - permalink -
    - https://twitter.com/bertrandlemaire/status/518981554694275072
    nomarkdown
  • What does "message has implicit destination" mean? - Documentation - Confluence

    Ok donc mailman (gestionnaire de ML) propose un système anti-spam basé sur les headers « To » et « Cc » : si l'adresse de la ML n'est pas dans ces champs, le mail est placé en attente de modération. Ça évite les bots qui mettent plein de ML en « Bcc ». C'est activé par défaut mais débrayable.

    Une telle option n'est pas activée de base dans Sympa. Je suis sceptique sur l'efficacité d'une telle méthode : je gère des ML avec Sympa et les spams que j'ai reçu contenaient bien XXXX adresses de ML en Cc ... Les spammeurs vont à la simplicité car c'est un gage d'efficacité et donc de rentabilité.

    Du coup, quand une ML doit envoyer un mail à une autre ML (mailman), ça ne marche pas puisque l'émetteur original a mis l'adresse de la première ML en « To » ou « Cc » (il ne sait pas que ça va être cascadé dans une autre ML). Heureusement, mailman propose un système de liste blanche en fonction du header « To » : « acceptable_aliases ».
    07/10/2014 17:52:14 - permalink -
    - http://wiki.list.org/pages/viewpage.action?pageId=4030676
    nomarkdown
  • nproc(1) - Linux man page [nombre de CPU]

    Pour connaître le nombre d'unités de traitements (CPU + cores + HT) disponibles. Plus simple que d'aller farfouiller dans /proc/cpuinfo.

    Il est possible de désactiver des unités de traitement à chaud. Exemple : echo 0 > /sys/devices/system/cpu/cpu1/online . Le CPU 0 ne peut pas être désactivé, sécurité toussa ;) . nproc fait la différence. nproc --all : toutes les unités de traitement ; nproc tout court : les unités de traitements activées (online) uniquement.

    Via #arn. Gabriel pour nproc ; b4n pour CPU online/offline.
    07/10/2014 15:31:14 - permalink -
    - http://linux.die.net/man/1/nproc
    nomarkdown
  • Pourquoi Windows 10 Technical Preview est un mouchard à fuir !

    « Installer Windows 10 Technical Preview sur son ordinateur donne à Microsoft à peu près tous les droits, y compris celui de collecter des informations sur votre historique de navigation ou ce que vous saisissez sur votre clavier.

    [...]

    Le but est d'alimenter un véritable centre de télémétrie qui serait appelé en interne "Asimov", pour permettre aux équipes de développement de Windows 10 de voir en temps réel comment s'adaptent les utilisateurs, et quels sont les éventuels problèmes à régler.

    [...]

    Mais pour y parvenir, selon la politique de vie privée spécifique à la Technical Preview, Microsoft s'autorise à collecter énormément de données (il faudrait chercher ce qu'il ne collecte pas)

    [...]

    En réponse aux réactions, Microsoft a tenu à rappeler qu'il s'agit d'une preview destinée aux tests technologiques (d'où le nom : "Technical Preview"), et qu'au moins une partie  [NDLR : MDR] de ces informations ne seront plus collectées lors de la version finale ou des prochaines versions bêta.

    Par ailleurs, "toutes les données envoyées de Windows 10 Technical Preview vers Microsoft sont chiffrées en transit et nous stockons les informations que vous fournissez sur des systèmes informatiques qui sont en accès limité et dans des centres contrôlés" [NDLR : des centres contrôlés par la NSA ? :D ], veut rassurer la firme de Redmond. »

    C'est mignon tout plein. :')
    07/10/2014 13:25:11 - permalink -
    - http://www.numerama.com/magazine/30823-pourquoi-windows-10-technical-preview-est-un-mouchard-a-fuir.html
    nomarkdown
  • Zythom: La recette

    Très bon billet sur la recette d'un projet informatique, les obligations (obligation d'information, ce qui implique conseil, renseignement et mise en garde) d'un prestataire, comment valider une recette côté client, ...
    05/10/2014 21:37:25 - permalink -
    - http://zythom.blogspot.fr/2014/09/la-recette.html
    nomarkdown
  • Accessing an encrypted full disc image (LUKS;LVM) | Matthias Blaicher

    Vous avez une image disque (obtenue avec dd, par exemple) qui contient plusieurs partitions dont une luks + lvm et vous voulez accéder au contenu d'un LV dans cette partition ? Aucun problème avec kpartx, l'outil qui « Create device maps from partition tables. ».

    Ça marche aussi pour accéder au contenu d'un LV contenu dans un VG contenu dans un PV qui serait lui-même dans un LV (cas d'une virtualisation, par exemple : chaque VM à un LV dans le VG hôte et est libre de faire du LVM dedans).
    04/10/2014 17:19:54 - permalink -
    - http://www.blaicher.com/2013/01/accessing-an-encrypted-full-disc-image-lukslvm/
    nomarkdown
Links per page: 20 50 100
◄Older
page 263 / 299
Newer►
Mentions légales identiques à celles de mon blog | CC BY-SA 3.0

Shaarli - The personal, minimalist, super-fast, database free, bookmarking service by the Shaarli community