PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Yannic Arnoux : Configuration de XFCE avec deux écrans

jeudi 3 septembre 2015 à 14:00

J'ai un portable fraîchement installé sous Debian Jessie avec l'environnement de bureau XFCE que j'utilise soit en itinérance, soit en poste fixe avec un moniteur externe en configuration double écran. La configuration brute des écrans sous GNU/Linux passe par l'utilisation de la commande xrandr pour définir leur nombre, la résolution de chacun et leur position respective. Pour se faciliter la vie, on peut installer arand qui fournit une interface pour définir ces réglages et les sauvegarder sous forme de shell script dans un fichier.

Voici une capture d'écran de arandr :

alt text

Et un exemple de script généré pour une configuration en double écran avec le moniteur externe à droite de l'écran LCD du portable :

xrandr --output HDMI1 --off --output LVDS1 --mode 1366x768 --pos 0x0 --rotate normal --output DP1 --off --output VGA1 --mode 1920x1080 --pos 1366x0 --rotate normal

En utilisant arand je vais facilement générer les deux scripts dont j'ai besoin :

Pour savoir lequel appliquer, on va tester si le moniteur externe est connecté en analysant le résultat de la commande xrandr. Au démarrage du portable, le gestionnaire de connexions lightdm clone l'affichage des deux moniteurs connectés. On peut corriger cela en appliquant notre joli script qui teste si le moniteur externe est connecté et applique la bonne commande xrandr. Pour cela, on édite le fichier de configuration /etc/lightdm/lightdm.conf et on ajoute la directive display-setup-script dans la section SeatDefaults :

[SeatDefaults] 
...
display-setup-script=/usr/local/bin/lightdm-monitor.sh

et voici le script lightdm-monitor.sh :

#!/bin/bash
if (xrandr | grep "VGA1 disconnected"); then
    xrandr --output HDMI1 --off --output LVDS1 --mode 1366x768 --pos 0x0 --rotate normal --output DP1 --off --output VGA1 --off
else    
    xrandr --output HDMI1 --off --output LVDS1 --mode 1366x768 --pos 0x0 --rotate normal --output DP1 --off --output VGA1 --mode 1920x1080 --pos 1366x0 --rotate normal
fi

Le réglage est valable pour lightdm mais quand on ouvre une session XFCE, il est perdu et on revient à la configuration par défaut à savoir l'affichage cloné sur les deux écrans. On pourrait appliquer le même script pour la session, en utilisant la directive session-setup-script prévu par ligthdm ou en mettant le script en démarrage automatique dans la configuration Session et démarrage de XFCE. Dans mon cas, je souhaite ajouter quelque chose au script de session : déplacer le tableau de bord XFCE sur le moniteur externe, quand il connecté. C'est possible grâce à la commande xfconf-query (le programme en ligne de commande de configurationde XFCE) adéquate.

Finalement, cela donne le script xfce-monitor.sh au démarrage de la session:

#!/bin/bash
sleep 3
if (xrandr | grep "VGA1 disconnected"); then
    xrandr --output HDMI1 --off --output LVDS1 --mode 1366x768 --pos 0x0 --rotate normal --output DP1 --off --output VGA1 --off
    xfconf-query -c xfce4-panel -p /panels/panel-1/output-name -s LVDS1
else    
    xrandr --output HDMI1 --off --output LVDS1 --mode 1366x768 --pos 0x0 --rotate normal --output DP1 --off --output VGA1 --mode 1920x1080 --pos 1366x0 --rotate normal
    xfconf-query -c xfce4-panel -p /panels/panel-1/output-name -s VGA1
fi

Le sleep en début de script n'est pas élégant. Sans lui, l'exécution du script intervient avant que la session XFCE soit initialisée et les commandes xfconf-query ne sont pas appliquées. Si quelqu'un a une solution plus élégante, je suis intéressé.

Si la connexion / déconnection des écrans a lieu pendant qu'une session est ouverte, il suffit de relancer le script depuis un terminal pour reconfigurer l'affichage.

alt text

Gravatar de Yannic Arnoux
Original post of Yannic Arnoux.Votez pour ce billet sur Planet Libre.

Influence PC : Sauvegarder son serveur Linux personnel + son mutualisé : the easy way !

jeudi 3 septembre 2015 à 07:46

Votre serveur va avoir sa première défaillance matérielle dès demain, mais pas de panique ! Je vais vous aider à créer votre premier backup. Les suivants vous offriront d’anciennes versions de vos fichiers.

Bon, pour un ordinateur de bureau, nous avons vu comment réaliser des sauvegardes automatiques au montage d’un périphérique externe. Pour un téléphone, nous avons vu comment synchroniser contacts et calendriers entre Ubuntu Touch et un serveur.

Hélas pour un serveur, c’est une autre paire de manches. Bases de données, mails, fichiers de conf, logiciels installés hors des dépôts, sites web : il y en a partout. Un snapshot du disque serait insuffisant en cas de changement de matériel.

Problématique

Avant de foncer tête baissée, voyons comment ne pas créer les sauvegardes au même endroit que les fichiers originaux :
— Si vous disposez d’un autre serveur, vous pouvez lire ce comparatif d’outils dédiés (voir burp avec son interface ou obnam),
— Mais si vous n’avez qu’un seul serveur, il serait aberrant de perdre l’accès à vos données (résiliation, attaque, panne, etc).

Il faut à mon sens :
— Dans un premier temps, générer puis télécharger les sauvegardes du serveur sur un ordinateur local, hors du Net,
— Dans un second temps, sauvegarder les données du serveur en même temps que celles de l’ordinateur sur un support externe,
— Dans un troisième temps, synchroniser les sauvegardes en ligne, comme avec hubiC.

Bien sûr, tout le monde n’est pas du même avis, avec ce tuto vous pouvez tout autant synchroniser serveur et ordinateur directement vers le service en ligne de votre choix. Moi je considère que mon ordinateur contient une sauvegarde serveur récente. J’utilise ensuite la même solution pour sauvegarder le tout, en conservant différentes versions (états) des fichiers au fil du temps.

1- Plan d’action

Mon but n’est pas d’avoir une remise en service rapide de mon serveur. Si c’était le cas, j’aurais du matériel fiable.

Côté serveur, je réalise donc un script bash, cronné quotidiennement, qui copie en root dans un dossier tout ce que j’ai créé ou modifié. Il donne finalement la propriété du dossier à l’utilisateur autorisé à être utilisé en SSH.

Côté ordinateur, je réalise un second script bash, à exécuter manuellement, qui récupère en local le dossier de sauvegarde du serveur. Il récupère en supplément le contenu d’un serveur FTP sur un hébergement mutualisé.

2- Script de sauvegarde du serveur

Je vous laisse le soin de vous inspirer de mon script afin d’identifier tout ce qui vous importe. Copiez simplement ce qui suit dans un fichier, stocké où bon vous semble, et donnez lui le droit d’exécution.

J’utilise l’option inhabituelle –relative qui copie le chemin absolu d’un dossier, recréant ainsi l’architecture de la distribution dans le dossier de sauvegarde.

#!/bin/bash
# Rappels :
# - le script doit être exécuté en droits root
# - le script ne prend pas en charge les rotations de sauvegardes
# - les fichiers reçoivent à la fin la propriété d'un utilisateur SSH
# - le script ne copie que les fichiers personnalisés, pour les retrouver facilement

nom_utilisateur_ssh="VOTRE_UTILISATEUR"
nom_repertoire="Sauvegarde_serveur"
chemin_repertoire=/home/$nom_utilisateur_ssh/$nom_repertoire
chemin_execution_script=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
options="--delete-excluded --relative --archive --progress"

# Réinitialise le dossier des sauvegardes
cd /home/$nom_utilisateur_ssh
mkdir -p $nom_repertoire

# Sauvegarde le script lui même
rsync $options $chemin_execution_script/script_de_sauvegarde.sh $chemin_repertoire

# Copie les fichiers de configuration
rsync $options /etc/crontab $chemin_repertoire
rsync $options /etc/init.d/regles_iptables $chemin_repertoire
rsync $options /etc/fail2ban/jail.conf $chemin_repertoire
rsync $options /etc/nginx $chemin_repertoire
rsync $options /etc/php5/fpm/pool.d/www.conf $chemin_repertoire
rsync $options /etc/ssh $chemin_repertoire

# Serveur GitLab
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
rsync $options /home/git/gitlab-shell/config.yml $chemin_repertoire
rsync $options /home/git/gitlab/config/gitlab.yml $chemin_repertoire # décommenter keep_time, voir la doc
rsync $options /home/git/gitlab/tmp/backups $chemin_repertoire
rsync $options /home/git/gitlab/.secret $chemin_repertoire
rsync $options /home/git/.ssh/config $chemin_repertoire
cd $chemin_repertoire

# Serveur XMPP Metronome
metronomectl stop
rsync $options /etc/metronome $chemin_repertoire
rsync $options /var/lib/metronome $chemin_repertoire
rsync $options /home/$nom_utilisateur_ssh/metronome $chemin_repertoire
metronomectl start

# Serveur web Nginx
rsync $options --exclude=phpmyadmin --exclude=data/cache /var/www $chemin_repertoire

# Base de données MySQL
mysqldump --user="UTILISATEUR" --password="MOT_DE_PASSE" --databases BASE_DE_DONNES > $chemin_repertoire/NOM_FICHIER.sql

# Autres dossiers potentiels
# /home/$nom_utilisateur_ssh/Maildir/
# /home/$nom_utilisateur_ssh/.procmailrc

# Uniformise les droits récursivement, pour permettre le téléchargement
chown -R $nom_utilisateur_ssh:$nom_utilisateur_ssh $chemin_repertoire

3- Script de récupération de la sauvegarde, sur ordinateur

Ce petit bout de script, simplissime, nécessite l’installation du logiciel lftp pour la synchronisation FTP en local. Faire des tests avec lftp vous évitera de perdre vos données réelles.

Attention, contrairement à rsync, lftp ne dispose pas d’une option –delete-excluded ce qui signifie que si vous excluez de nouveaux dossiers, il vous incombe de les supprimer localement.

#!/bin/bash

rsync --delete --archive --progress -e "ssh -p 22" UTILISATEUR@SERVEUR:./Sauvegarde_serveur "/home/UTILISATEUR/"

lftp ftp://NOM_UTILISATEUR:MOT_DE_PASSE@SERVEUR -e "mirror --verbose --delete-first --exclude=data/cache /distant /home/UTILISATEUR/Sauvegarde_FTP/; quit"

Ce script peut comme toujours être automatisé avec crontab pour les évènements temporels, ou avec incrontab pour les évènements déclenchés par le système de fichiers (montage de disque, création ou modification d’un fichier, etc).

Via /etc/crontab :
0 0 * * * * root sh /home/NOM_UTILISATEUR/script_de_sauvegarde.sh >/dev/null 2>&1

Bon à ce stade je vous avoue que j’avais très envie d’achever cet article : pour sauvegarder votre base SQL de mutualisé, vous disposez peut être d’une URL sécurisée à appeler. Si c’est le cas, vous devriez vous en sortir avec curl. Sinon vous devrez chercher la solution qui vous convient (et je vous invite à laisser un commentaire) qui dump votre base dans le langage de votre mutualisé.

4- Chiffrement des sauvegardes

Toute méthode apporte son lot d’avantages et d’inconvénients. Je vous laisse le soin de faire vos propres recherches, sachez simplement qu’il est facile de le faire avec le logiciel Disques sous Ubuntu.

Mes deux sources principales sont cet article du blog de Romain Vimont (®om) pour le script et cet autre article du blog d’Aurélien Maigret (Dewep) pour la partie lftp en plus de ce wiki. Merci à eux pour leur aide précieuse !

Illustration sous CC BY 2.0 réalisée par Torkild Retvedt.

Gravatar de Influence PC
Original post of Influence PC.Votez pour ce billet sur Planet Libre.

Framablog : Le Libre et les Makers s’invitent à la fête de l’Humanité 2015 (et ont besoin de vous !)

mercredi 2 septembre 2015 à 17:00

L’an passé, Framasoft participait à la Fête de L’Humanité.

Nous avions alors longuement interviewé Yann Le Pollotec (informaticien, membre du conseil national et animateur de la réflexion sur la révolution numérique au Parti Communiste Français) à qui nous avions posé de nombreuses questions, notamment sur le positionnement du Parti Communiste vis-à-vis du logiciel libre.

Cette année, l’initiative est renouvelée… mais en plus grand ! Avec un « Espace du libre, des hackers et des fablabs ».

L’occasion pour nous de demander à Yann quelles sont les nouveautés de cette année 2015.

L'espace Logiciel Libre / Hackers / Fablabs de la fête de l'Huma 2014

L’espace Logiciel Libre / Hackers / Fablabs de la fête de l’Huma 2014

Bonjour Yann, exceptionnellement, nous n’allons pas te demander de te présenter, ni de nous parler du rapport PCF/Logiciel libre, car tu nous avais déjà répondu l’été dernier. En revanche, peux-tu nous en dire plus sur cette version 2015 de l’Espace du libre ?

Cette année l’Espace du libre et des fablabs double sa superficie avec de nouveaux venus : l’association La Mouette qui présentera la dernière version de Libre office, Mozilla France, APEDEC Ecodesign Fab Lab, l’Electrolab, Marker Girls, Bionico Hand. Nous aurons un grand débat sur le « big data et digital labor » avec Yann Moulier Boutang le samedi 12 septembre à 10h30.

Un autre débat  aura lieu le vendredi 11 à 17h30 sur « les libertés et les droits sur l’Internet après les lois anti-terroristes et renseignement », avec Cécile Cukierman sénatrice, Véronique Bonnet de l’April, la Quadrature du Net et la CNIL. Enfin Nicolas Huchet avec sa prothèse de bras intelligent « open hardware » qu’il a développée, sera présent.

Un mur entier sera consacré à l’exposition pédagogique sur le logiciel libre et ses enjeux, installation conçue pour cet événement  par le collectif Tiyounim.

Garder une place pour les mouvements du Logiciel Libre, des Makers, Hackers et Fablabs à la fête de l’Huma a un sens… Quels ont été les moteurs de cette décision ?

Ce qui motive notre décision c’est que ces mouvements avec leurs contradictions, et parfois leurs difficultés à créer des écosystèmes viables, sont fascinants, et leurs acteurs jouent le rôle des accoucheurs passionnés et tourmentés du monde de demain et d’un autre rapport au travail, à la propriété et à la création.  Ils préfigurent à bien des égards une société post-capitaliste fondée sur la notion de Commun, d’une manière certes encore minoritaire, fragile mais résiliente, balbutiante mais virale.

Tout cela ne se fait pas sans contradictions, et difficultés pour créer des écosystèmes viables, avec un « capitalisme cognitif » pour reprendre l’expression de Yann Moulier Boutang qui a à la fois besoin de ces communs numériques que sont par exemple les logiciels libres mais qui, en même temps, entrave leur développement en tentant de s’accaparer le bien commun en posant de nouvelles enclosures.

C’est, une fois de plus, un gros village associatif qui sera proposés aux visiteuses et visiteurs. Quels acteurs seront présents ?

Dans l’ordre alphabétique : APEDEC Écodesign Fab Lab, April, Bionico Hand, Camille Bosqué, Carrefour numérique au carré, Electrolab, Collectif Emmabuntüs, FDN, Franciliens.net, Framasoft, Licence Creative/Creative Commons France, Marker Girls, La Mouette (Libre office), Mozilla, Open-Edge, Les Ordis libres, Parinux, Petits Débrouillards Idf, La Quadrature du Net, Ubuntu.

Espace_Logiciel_Libre_Hackers_Fablabs_Huma_2014_2

Organiser une telle rencontre entre le Libre et les visiteurs et visiteuses de la fête de l’Huma, ce doit être un sacré travail… Tu peux nous expliquer à quoi ressemble tes (et vos) heures passées dessus ?

C’est d’abord un travail collectif avec tous les acteurs qui seront présents sur l’espace et qui l’auto-gèreront. C’est un travail de contacts, de communication, d’explication, de promotion, de pédagogie et de conviction. Il s’agit aussi et surtout d’organiser la coordination avec toutes les parties prenantes de la fête : architecte, programmateurs, régisseurs, services techniques, sécurité, prestataires de services et militants.

Afin de financer une partie des frais, vous avez initié une campagne de financement participatif. Pourquoi ce choix de la collecte et à quoi va servir cet argent ?

La fête de l’Huma met à disposition pour notre Espace une surface de 300m² qu’elle loue au Parc des expositions du Bourget. En échange, par le financement  participatif nous assurons la réalisation et l’impression du mur d’expo sur les logiciels libres et les flyers présentant l’Espace, les frais liés à la venue de Rennes à la fête de Bionico Hand, l’électricité, l’accès l’internet haut-débit, la location de mobiliers, les parkings pour les livraisons, et une caisse de solidarité sur les passes d’entrée à la fête de l’Huma afin de permettre la participation des bénévoles nécessaires au fonctionnement des associations parties prenantes et de couvrir une partie des frais de location de surface engagés par la fête de l’Huma. Nous avons choisi le crowdfunding car il représente pour financer un projet la possibilité d’échapper aux banques et aux contraintes de la subvention publique, en s’émancipant de décideurs publics ou privés souvent au mieux indifférents ou étrangers à ce qu’on leur présente.

Alors pour faire vivre l’espace des logiciels libres, des hackers et des fablabs à la fête de l’Humanité,  contribuer ou faites contribuer sur : https://fr.ulule.com/logiciellibre-fablab/  (clôture de la campagne le 6 septembre à minuit).

Un petit mot pour la fin ?

Nous avons la volonté de faire de cet espace co-produit part des acteurs du mouvement des logiciels libres et des fablabs, un lieu d’appropriation sociale et politique par le « faire », le ludique et le débat des enjeux cruciaux du numérique. Il s’agit, dans une démarche d’éducation populaire de faire toucher du doigt au public de la fête de l’Huma les potentialités émancipatrices comme les dangers de la Révolution numérique pour l’avenir de notre société.

Vous avez jusqu’à dimanche (6 septembre) pour soutenir et faire vivre cette initiative, en finançant et/ou partageant la collecte sur Ulule.

 

Gravatar de Framablog
Original post of Framablog.Votez pour ce billet sur Planet Libre.

Blogmotion : Que contient vraiment le keylogger de Windows 10 ?

mercredi 2 septembre 2015 à 11:06

A force de lire tout et n'importe quoi à ce sujet, je me suis lancé dans mes propres analyses de trafic.

windows-keylogger

Voyons ce que contient ce Windows 10 qui fait tant parler de lui.

tcpdump

Avant tout j'en profite pour vous parler de ce super tutoriel pour lire du contenu HTTPS avec wireshark s'il provient de votre navigateur, simple et rapide. Dans mon cas ce n'est pas du flux venant d'un navigateur mais du système directement donc je ne pourrai pas utiliser cette méthode.

J'utilise Windows 10 sur une machine virtuelle (VirtualBox). J'ai donc commencé par analyser le trafic au moment de faire une recherche dans le menu démarrer. Je précise que j'ai désactiver la recherche en ligne dans les options de Windows, et pourtant il y a bien du trafic.

Voici ce que voit passer mon routeur tomato (passerelle de sortie) :

./tcpdump -s0 host win10 and port not 22 -n
IP 192.168.0.68.53226 > 204.79.197.200.443: . 1493:2933(1440) ack 4667 win 1024
IP 192.168.0.68.53226 > 204.79.197.200.443: P 2933:2986(53) ack 4667 win 1024
IP 204.79.197.200.443 > 192.168.0.68.53226: . ack 2933 win 513
IP 204.79.197.200.443 > 192.168.0.68.53226: . ack 2986 win 513
IP 204.79.197.200.443 > 192.168.0.68.53226: P 4667:6096(1429) ack 2986 win 513
IP 204.79.197.200.443 > 192.168.0.68.53226: . 6096:7556(1460) ack 2986 win 513
IP 204.79.197.200.443 > 192.168.0.68.53226: . 7556:9016(1460) ack 2986 win 513
IP 204.79.197.200.443 > 192.168.0.68.53226: P 9016:9349(333) ack 2986 win 513
IP 192.168.0.68.53226 > 204.79.197.200.443: . ack 9349 win 1024
IP 192.168.0.68.53190 > 204.79.197.200.80: P 5777:6789(1012) ack 1081 win 1020
IP 192.168.0.68.53190 > 204.79.197.200.80: P 6789:7206(417) ack 1081 win 1020

Et à chaque nouvelle recherche dans le menu démarrer on retrouve cette séquence.

Premièrement c'est une surprise car quand on se dit le trafic que ça doit pomper à l'échelle mondiale, c'est monumental.

Mais que transite dans ces paquets ?

Kali

Autant faire le barbu jusqu'au bout, j'ai donc sorti Kali! Cela évite d'avoir à installer une tonne d'outils qui sont déjà présents.

kali2-netconfig

J'ai utilisé une deuxième machine virtuelle, sous Kali Linux 2.0 cette fois-ci. Avec deux interfaces, une sur le réseau local (eth0) et une autre sur un réseau interne à VirtualBox (eth1) que j'ai nommé "guest" :

udhcpd

J'ai installé un serveur dhcp (pas obligatoire mais plus pratique) :

apt-get install udhcpd

Configuration minimaliste :

# grep -E -v '^(#|$|;)' /etc/udhcpd.conf 
start 10.1.1.11
end 10.1.1.50
interface eth1 #default: eth0
opt dns 8.8.8.8
option subnet 255.255.255.0
opt router 10.1.1.254
option domain local
option lease 864000

Commenter la ligne /etc/default/udhcpd :

#DHCPD_ENABLED="no"

Et démarrer le service :

/etc/init.d/udhcpd start
[ ok ] Starting udhcpd (via systemctl): udhcpd.service.

J'ai basculé ma VM Windows dans ce même réseau interne "guest" pour vérifier que Kali lui donnait bien une IP.

Certificats

Je pensais qu'il était nécessaire de générer un certificat pour pouvoir intercepter le trafic SSL, surtout que j'étais parti sur l'outil sslstrip au départ. Et puis cet outil n'allait pas il permet seulement de ne pas rediriger du HTTP vers du HTTPS mais il est incapable d'intercepter du HTTPS.

Je vous met quand même la procédure au cas où ça vous serve dans un cas particulier :

mkdir cert && cd cert
apt-get install libssl-dev libevent-dev
openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 1826 -key ca.key -out ca.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BM
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:A.BM
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:*.bing.com
Email Address []:

Seul le "common name" est important, il doit correspondre au site à intercepter. Dans l'exemple "*.bing.com" assure la compatibilité avec "www.bing.com" par exemple. Cela ne fonctionnera pas en revanche avec "bing.com" tout court, il faudra un sous domaine. Vous pouvez préciser plusieurs CN si vous utilisez un fichier de configuration.

On fusionne :

cat ca.key ca.crt > ca.pem

Récupérer ca.crt et importez le "autorité de certification racines de confiance > certificats" (windows + R > certmgr.msc). Cela fonctionnera pour Edge et IE, pour Firefox ça se passe dans

Si besoin consultez ce tutoriel complémentaire.

iptables, ouvres toi

On active le routage (les deux commandes fonctionnent) :

echo "1" > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1

Puis on ajoute ces règles pour rediriger tout le trafic venant des ports 80 et 443 (HTTP et HTTPS) vers notre outil mitmproxy :

iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j REDIRECT --to-port 8080

Cela va couper le trafic pour votre Windows 10.

mitmproxy

mitmproxy est présent dans Kali, c'est lui qui va relayer les requêtes web, comme un vulgaire proxy. Mais il vous permet au passage de voir ce qui transite.

Par défaut il écoute sur le port 8080 et il semblerait que le changer peut poser problème. Lançons-le :

mitmproxy -T --host --cert=cert/ca.pem

Nous précisons au passage le certificat ca.pem, bien que je le répète ça fonctionne aussi sans dans notre cas car Microsoft ne contrôle pas l'auto-signature du certificat et n'utilise pas HSTS. En effet HSTS rend impossible toute interception si votre navigateur l'implémente :

hsts

Vous devriez maintenant pouvoir surfer depuis la VM sous Windows 10 et voir les premiers paquets transiter, faites ENTREE pour en visualiser un :

mitmproxy-response-bm

Dans la capture c'est du HTTP mais ça fonctionne aussi en HTTPS :)

Résultats

Je constate que l'IP 204.79.197.200 est attaquée en direct, autrement dit elle est hardcodée. Voilà qui explique pourquoi on pouvait lire sur la toile que Windows 10 ne tenait pas compte du fichier host. Il en tient donc bien compte, mais il ne sert à rien quand une IP est attaquée en directe.

La qualité de la capture n'est pas terrible, mon on voit que chaque recherche déclenche du trafic :

D'ailleurs selon comment vous lancez tcpdump ou wireshark c'est l'outil qui fait la résolution inverse (IP vers domaine), ce qui peut amener cette confusion. L'option "-n" ne résoud pas les IP.

Et voici le contenu d'une trame interceptée avec Kali :

Request
GET /manifest/threshold.appcache HTTP/1.1
Accept: */*
Referer: https://www.bing.com/
X-Search-SafeSearch: Strict
X-Device-MachineId: {7791A0B7-70CD-43BA-B3EB-0C27EFA10CFE}
X-BM-Market: FR
X-BM-DateFormat: dd/MM/yyyy
X-Device-OSSKU: 4
X-Device-NetworkType: ethernet
X-BM-DTZ: 120
X-DeviceID: 01000E2B09009A0C
X-BM-DeviceScale: 100
X-Device-Manufacturer: innotek GmbH
X-BM-Theme: ffffff;4f4f4f
X-BM-DeviceDimensionsLogical: 1391x875
X-BM-DeviceDimensions: 1391x875
X-Device-Product: VirtualBox
X-BM-CBT: 1440793203
X-Device-isOptin: false
Accept-Language: fr-FR, fr, en-US, en
X-Device-Touch: false
X-Device-ClientSession: 622207B7813F451685445E4F1E151CDE
X-BM-ClientFeatures: OemEnabled
X-Search-AppId: Microsoft.Windows.Cortana_cw5n1h2txyewy!CortanaUI
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0; Cortana 1.4.8.176; 10.0.0.0.10240.21) like Gecko
Origin: https://www.bing.com
Accept-Encoding: gzip, deflate
Host: www.bing.com
Cookie: SRCHD=AF=NOFORM; SRCHUSR=AUTOREDIR=0&GEOVAR=&DOB=20150724; ANON=A=A644AD824544D5AC41FAB97CFFFFFFFF; SRCHHPGUSR=LUT=1440787047065; MUID=2C92A4A5447D46E6AA757EFA6F11F0E8; _SS=SID=83FC6CF6C6C343D1ACD995F6C2B6E7F4&CPID=1440806117065&AC=1&CPH=d7a6a5e3&HV=1440806147; _EDGE_S=SID=1A9BCBB3E9586929213AC3A2E8546820; MUIDB=2C92A4A5447D46E6AA757EFA6F11F0E8; SRCHUID=V=2&GUID=C6A1AE407FDB4367BEAB5C0CA1ED6507
Content-Length: 0

==Response
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 4167
Content-Type: text/cache-manifest; charset=utf-8
Vary: Accept-Encoding
Server: Microsoft-IIS/8.5
Edge-control: no-store
X-MSEdge-Ref: Ref A: 20D2CCDC37664B81B50955609D97F6AF Ref B: 9275466BA5691D4B075A4B2442491B75 Ref C: Fri Aug 28 16:56:51 2015 PST
Date: Fri, 28 Aug 2015 23:56:50 GMT

CACHE MANIFEST
# Version:d7a6a5e3
CACHE:
/AS/API/WindowsCortanaPane/V2/Init
/devicecontent
/rms/Ajax.Bundle/jc/e2d6f5b9/afad0936.js?bu=rms+answers+AjaxSerp+Core%24ajax.shared%2cThreshold%24ajax.history.threshold%2cCore%24ajax.render%2cCore%24ajax.providers%2cCore%24ajax.lifeCycle%2cCore%24Providers%24ajax.provider.threshold
/rms/BingCore.Bundle/jc/4212d55d/93046b62.js?bu=rms+answers+Shared+BingCore%24shared%2cBingCore%24env.override%2cBingCore%24event.custom.fix%2cBingCore%24event.native%2cBingCore%24dom%2cBingCore%24cookies_parser%2cBingCore%24XHRPrefetch%24rmsajax_xhrprefetch%2cBingCore%24ClientInstV2%24InstrumentationConfigThrvis%2cBingCore%24ClientInstV2%24LogUploadCapFeatureDisabled%2cBingCore%24ClientInstV2%24ClientInstConfigSeparateQFQueue%2cBingCore%24ClientInstV2%24clientinst_xls%2cEmpty%2cBingCore%24ClientInstV2%24LogHelper%2cBingCore%24ClientInstV2%24VisibilityChangeEventHelper%2cBingCore%24Animation%2cBingCore%24fadeAnimation%2cBingCore%24framework%2cBingCore%24ShowWebView%2cBingCore%24CoreUtilities
/rms/BlueBrand/ortl,cc/cfd824f0/ed765317.css?bu=rms+answers+BrandBundle_Mobile+thbrand%24CombinedAsset_Windows_th_b%2cthbrand%24Colors_th_b%2cthbrand%24Type_th_b%2cthbrand%24Grid_th_b%2cempty%2cEmpty
/rms/BlueHeader/cir,ortl,cc/e3c56965/692701b1.css?bu=rms+answers+BrandBundle_Mobile+thbrand%24Header_CombinedAsset%2cthbrand%24Header_Colors_th_b%2cthbrand%24Header_Type%2cthbrand%24Header_Grid_th_b%2cempty
/rms/BundledViews/jc/2307c526/4b700f39.js?bu=rms+views+Shared+CenteredImagePair%2cAlertWrapper%2cFootnoteWrapper%2cGroupLabel%2cHorizontalList%2cHorizontalListItem%2cImagePair%2cImagePairWrapper%2cLargeSubtitle%2cLegacyImagePair%2cRichCaptionControl%2cSelectItem%2cTitleWrapper%2cVerticalList%2cVerticalListItem%2cVerticalStackPanel%2cVerticalStackPanelItem
/rms/BundledViews/jc/426e0434/6ee7a7b8.js?bu=rms+views+Threshold+DenseTileLayout%2cErrorMessage%2cInlineError%2cItemList%2cLocalStrings%2cMyStuffHeader%2cMyStuffPhotoItem%2cPageCanvas%2cPagination%2cPlaceHolderImage%2cRecourse%2cRegion%2cResultItem%2cResultItemCentered%2cResultItemPosition%2cResultItemPositionItem%2cResultItemPrimaryPosition%2cResultItemSecondaryPosition%2cResultItemWideColumnPosition%2cSection%2cSectionContents%2cSpellCorrection%2cSpellerSuggestion%2cSubsectionHeader%2cInstLink
/rms/Framework/jc/98a1080c/8f35ad43.js?bu=rms+answers+BoxModel+config.threshold%2crules%24rulesThresholdv2%2ccore%2cmodules%24scroll%2cmodules%24resize%2cmodules%24state%2cmodules%24mutation%2cmodules%24error%2cmodules%24network%2cmodules%24cursor%2cmodules%24keyboard%2cmodules%24bot
/rms/rms%20answers%20AutoSuggest%20Modules$Aggregators$FastRankModel/jc/8ab4816a/c9022570.js
/rms/rms%20answers%20AutoSuggest%20Modules$Aggregators$TopHitConfidenceModel/jc/cdd5debb/e17a4d4c.js
/rms/rms%20answers%20AutoSuggest%20Partners$BingMDL2/ortl,cc/beb7ff27/cfa7c403.css
/rms/rms%20answers%20AutoSuggest%20Partners$CortanaMDL2/ortl,cc/f7ab76d7/53ee1b5a.css
/rms/rms%20localizationstrings%20AutoSuggest%20CortanaQF/jc/977f644e/09e2fa3e.js
/rms/rms%20localizationstrings%20Feedback%20LocStrings/jc/c495b727/7095ed03.js
/rms/rms%20localizationstrings%20Threshold%20LocStrings/jc/7417ae58/35c6ce5b.js
/rms/rms%20views%20AutoSuggest%20CortanaIcon/jc/2b83323c/09cbd0f2.js
/rms/rms%20views%20AutoSuggest%20HighlightedText/jc/43aaa2f3/4987a95a.js
/rms/rms%20views%20AutoSuggest%20Icon/jc/c511bd1f/d98da31c.js
/rms/rms%20views%20AutoSuggest%20WindowsGroup/jc/cd70749a/10528dc4.js
/rms/rms%20views%20AutoSuggest%20WindowsGroups/jc/73bef063/5a9e8c24.js
/rms/rms%20views%20AutoSuggest%20WindowsIndexingMessage/jc/ce7b6b63/1504f776.js
/rms/rms%20views%20AutoSuggest%20WindowsPermanentDisambig/jc/3e434d5d/a72607ec.js
/rms/rms%20views%20AutoSuggest%20WindowsSuggestionSingleLine/jc/1604fb44/d727d90a.js
/rms/rms%20views%20AutoSuggest%20WindowsSuggestionThreeLines/jc/22443ed7/3d9b6c2e.js
/rms/rms%20views%20AutoSuggest%20WindowsTopResults/jc/057e9dc3/570a83fb.js
/rms/SparkleFramework/jc/9a391b26/d18f4c62.js?bu=rms+serp+snr%24react.min%2csnr%24Sparkle%2csnr%24Sparkle.React%2csnr%24ResourceManagement.source%2csnr%24Array_c.source%2csnr%24string_c.source

On trouve aussi un appel à http://www.msftncsi.com/ncsi.txt qui permet à Windows de savoir si la liaison internet fonctionne, mais ce n'est pas propre à Windows 10.

Conclusion

Cela confirme le sentiment que j'avais sur Windows 10, il est très bavard, trop bavard. Qu'il discute de temps en temps pour savoir s'il y a des mises à jour je veux bien, mais envoyer ma résolution, le modèle et marque de ma machine à chaque fois que je fais une recherche dans le menu démarrer... non merci. Sachant que j'ai désactivé la recherche en ligne...

Après coup j'ai pu voir que mes données se recoupent avec l'article de Ars Technica qui a utilisé Fiddler, de mon côté Fiddler ne voyait pas les données j'ignore s'il y a une configuration particulière à faire.

Je n'utiliserai donc pas Windows 10 tant que cette situation n'évoluera pas, malgré les quelques outils désactivent les mouchards. Je me demande bien d'ailleurs ce que la CNIL attend pour se pencher sur ce sujet. Je ne dis pas que c'est illégal, Microsoft a forcément blindé les conditions d'utilisation, mais ce n'est pas acceptable en l'état.

Je ferai peut-être d'autres analyses sans désactiver les mouchards et avec aucune entrée dans le fichiers hosts, histoire de voir ce qui peut transiter pour "monsieur tout le monde" comme se le demande aussi Nicolas Simon dans son billet.

BM vous parraine en mode Premium chez iGraal.fr : 10 euros offerts à l'inscription :)
Vous devriez me suivre sur Twitter : @xhark

Article original écrit par Mr Xhark publié sur Blogmotion le 02/09/2015 | 9 commentaires |
Attention : l'intégralité de ce billet est protégée par la licence Creative Commons

Vous risquez d'être aussi intéressé par :

Gravatar de Blogmotion
Original post of Blogmotion.Votez pour ce billet sur Planet Libre.

Okki : Sortie du thème d’icônes Xenlism WildFire 1.0

mardi 1 septembre 2015 à 22:18

Nattapong Pullkhow vient d’annoncer la disponibilité de son thème d’icônes, très coloré et rondouillet, inspiré de MeeGo et d’iOS.

Thème Arc + Xenlism WildFire 1.0
GNOME Shell avec Xenlism WildFire 1.0

Pour le moment distribué sous licence non libre Creative Commons 4.0 BY-NC-ND, son auteur promet un passage sous licence libre une fois les 1000 dollars de financement atteints.

Gravatar de Okki
Original post of Okki.Votez pour ce billet sur Planet Libre.