TRACKING: Device Fingerprint, une méthode redoutable

12.02.2015 by MatMoul

Device Fingerprint mais qu'est ce que cela veut dire ?

C'est tout simplement l'analyse de toutes les informations pouvant être extraites à la visite d'une page web pour vous identifer de manière unique.

Vous pouvez tester votre périphérique (ordi, tablet, smartphone) sur ce site panopticlick.eff.org (Il en existe d'autres).

Grace à ce site, j'ai pu découvrir que mon choix anodin d'utiliser une police personnalisée pour l'horloge de ma barre des tâches, a fait de moi un cible unique.

Cela montre que le seul moyen de rester discret est de se fondre dans la masse. C'est à dire, système par défault, config à la con, ... et surtout, régulièrement faire un reset (Les algos ne sont pas encore prévus pour reconnaître leurs anciens "propriétaires").

Mais comment faire ça en pratique ?

Ce qui est sûre c'est qu'il est hors de question de me passer des personnalisations de mon OS.

La seule solution que j'ai trouvé est la virtualisation. Cela permet de créer une machine virtuel se fondant dans la masse et qui peut être remise à zéro en quelques secondes.

Pour utiliser la virtualisation, plusieurs solutions s'offrent à vous.

Pour des serveurs :

Pour des postes de travails :

  • VMWare (The must sur Windows mais propiétaire et payant)
  • Virtual Box (Open-Source, mais maintenant propriété d'Oracle. Toutefois ça fonctionne bien sur Linux.)
  • Hyper-V (Sur Windows 8+ Pro)
  • KVM/QEMU, OpenVZ, Docker (The Must sur Linux mais n'est malheureusement pas encore à la portée de tous.)

Selon vos moyens et vos connaissances en IT, à vous de choisir...

Et si comme moi vous êtes sur linux, vous pouvez utiliser la commande "ssh -X user@ip command" et vous pourrez utiliser votre navigateur virtuel comme en local. (Selon votre distribution, il se peut que vous deviez configurer vos config ssh pour activer le X11 Forwarding)

LINUX: Debian, Proxmox, Dernières nouvelles, a must have

05.02.2015 by MatMoul

Je n'ai pas besoin de vous cacher que j'ai totalement croché sur la solution de virtualisation Proxmox.

La dernière version que j'utilise (3.3-5) commence à répondre à tout mes besoins.

Premièrement, celle-ci utilise le système de virtualisation intégré au noyau Linux, c'est à dire KVM/QEMU ou les container OPENVZ (j'estpère que Docker fera sont apparition bientôt).

Et Deuxième et troisièmement, il est possible de gérer des clusters ainsi qu'une spécificité propre à chaque VM contrairement à OpenStack ou des solutions propriétaires (Azure, AWS) qui nous impose des templates. Là on définit ce que l'on veut pour chaque VM (CPU, HD, Mémoire, Cartes réseaux). C'est vraiment une solution de virtualisations aussi souple que VMWareWorkstation en version serveur et accessible via un navigateur Web.

Je ne vous ferrais pas la description de Proxmox mais l'une des dernières mises à jour nous offre un accès à l'écran de la machine virtuel via HTML5. Donc plus besoin de VNC ou n'importe quel autre client à installer sur votre ordinateur, on crée une VM et on s'y connecte via un page web.

Les deux seuls points négatifs restent que lors de l'installation, nous ne pouvons pas choisir les détails de la construction des partitions et qu'il n'y a rien dans l'interface web qui permette de mettre en pause une VM.

Au vu de leurs travaux, je ne peux que vous conseiller d'utiliser cette solution open-source et gratuite.
Je vous invite toutefois à les soutenir en souscrivant à un abonnement.

Pour l'installation, deux options s'offre à vous :

La première et la plus simple est de télécharger l'ISO d'installation mais vous n'aurez pas le choix concernant le partionement de votre disque.

La deuxième solution consiste à l'installation d'une distribution Debian Wheezy avec toutes ses options d'installations puis d'installer Proxmox (J'essayerai de fair un Post là desus).

A vous de choisir, je vous rappel aussi un de mes Post précédant sur le RAID software.

Vive la démocratie

15.01.2015 by MatMoul

Aujourd'hui était une journée mouvementée sur les marchés suite à la décision de la BNS d'abandonner son taux plancher pour l'EURCHF à 1.20.

En effet, nous, petit suisse, devions voter le 30 novembre 2014 sur les réserves d'or gérer par la BNS. Ce fut une des rares fois où la BNS est intervenu dans les médias pour diriger le vote en indiquant qu'il lui serait impossible de maintenir ce taux plancher si nous acceptions l'initiative.

Et là, jeudi 15 janvier 2015, elle change sa stratégie en indiquant que si elle avait communiqué sur ce sujet, l'effet n'aurait pas été le même.

Comment le citoyen lambda peut prendre une décision sur un domaine ou même nos conseiller fédéraux ne sont pas informés (enfin cela reste à voir mais restants on aux faits).

Que peut valoir une démocratie si les informations ne sont pas remontées aux citoyens et même à nos plus hautes autorités ?

En tant que citoyen, je me sans vraiment floué (même si je n'avais pas de positions ouvertes sur les marchés). J'en viens vraiment à me demander ce que vaut notre démocratie.

Vu ce qui c'est passé, cela indique qu'il est possible de faire passer des résultats de vote sur des informations cachées, erronées ou manipulées.

La démocratie reste une très bonne idée, mais pour moi, il faut défendre une démocratie locale et promouvoir la transparence dans ses fonctions. Si l'économie était transparente et non manipulée (premier QE en vue pour la BCE, où se trouve le taux de change EURCHF normal), à l'exception de la défense extérieur de notre pays, aucunes informations ou manipulations de l'information n'ont leur place dans notre société démocratique.

Une démocratie locale répondrait bien mieux aux difficultés immédiates des citoyens, permettrait des micro-sociétés avec une liberté locale de décisions répondants aux visions de chacun (fumée ou pas de fumée, alcool ou pas d'alcool, OGM ou pas d'OGM, ...) et limiterait certainemant l'ingérence des lobby.

A vous de méditer sur ce sujet.

LINUX: Debian, Proxmox, RAID software, GPT

27.08.2014 by MatMoul

Lors de ma dernière installation de proxmox, j'ai utilisé des disques de 2To et cela à créer une table de partition GPT qui n'est pas supportée par la procédure précédente.

Voici donc une procédure mise à jour pour les tables de partitions GPT :

apt-get -y install mdadm
# OK
# all
sgdisk -R=/dev/sdb /dev/sda
mdadm --create -l 1 -n 2 /dev/md1 missing /dev/sdb2
# Y
mdadm --create -l 1 -n 2 /dev/md2 missing /dev/sdb3
# Y
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
mkfs.ext4 /dev/md1
mount /dev/md1 /mnt
cp -ax /boot/* /mnt
nano /etc/fstab
# Replace  UUID=<your UUID here> boot/boot ext3 defaults 0 1 by
/dev/md1 /boot ext4 defaults 0 1
# CTRL+X;Y
reboot

mount|grep boot
echo '# customizations' >> /etc/default/grub  
echo 'GRUB_DISABLE_LINUX_UUID=true' >> /etc/default/grub  
echo 'GRUB_PRELOAD_MODULES="raid dmraid"' >> /etc/default/grub  
echo raid1 >> /etc/modules 
echo raid1 >> /etc/initramfs-tools/modules 
grub-install --recheck /dev/sda
grub-install /dev/sdb
grub-install /dev/md1
# I Have A Segment Fault But I Ignore
update-initramfs -u
update-grub
reboot

pvcreate /dev/md2
vgextend pve /dev/md2
pvmove /dev/sda3 /dev/md2
vgreduce pve /dev/sda3
pvremove /dev/sda3
reboot

mkfs.ext4 /dev/sda2
mdadm --add /dev/md1 /dev/sda2
mdadm --add /dev/md2 /dev/sda3
watch -n 5 cat /proc/mdstat
# Wait end of replication
echo 800000 > /proc/sys/dev/raid/speed_limit_min
echo 1600000 > /proc/sys/dev/raid/speed_limit_max
reboot

Et voilà, ca devrait fonctionner !!!

LINUX: Proxmox, Gestion des interfaces réseaux

27.08.2014 by MatMoul

Maintenant que votre serveur de virtualisation Proxmox est en service, une des première chose à comprendre et la gestion des interfaces réseaux.

Pour ma part, j'ai 3 cartes ethernet (eth0, eth1, eth2).

Vous pouvez créer des cartes virtuels pour Proxmox depuis l'interface Web (node du serveur, onglet réseaux).
On utilisera le type Brige pour une carte unique et le type Bond pour agréger plusieurs cartes physiques.

Dans ma config, j'ai utilisé le mode Bridge pour créer vmbr1 sur eth1, vmbr2 sur eth2, vmbr0 étant créer par défaut sur eth0.

Il est aussi intéressant d'avoir des interfaces virtuels (switch internes).
Pour créer ces interfaces (de type dummy), il faudra passer par la console (local ou SSH).

Une fois connecter tapez la commande suivante où 1 est le nombre d'interfaces dummy maximum -1; puis modifiez le fichier intefaces pour ajouter vos interface (ici, vmbr90 et vmbr91):

# Définir le nombre d'interfaces dummy
modprobe dummy numdummies=1

nano /etc/network/interfaces
auto vmbr90
iface vmbr90 inet manual
        bridge_ports dummy0
        bridge_stp off
        bridge_fd 0
auto vmbr91
iface vmbr91 inet manual
        bridge_ports dummy1
        bridge_stp off
        bridge_fd 0
# CTRL+X;Y
service networking restart

Et vous voilà avec deux interfaces/switch virtuels.

Pour utiliser des VLAN sur vos machines virtuelles, il faudra définir les interfaces au niveau de la machine hôte.

Dans l'exemple suivant, on définira 2 VLAN (1 et 2) sur l'interface eth1 :

nano /etc/network/interfaces
auto vmbr111
iface vmbr111 inet manual
        bridge_ports eth1.1
        bridge_stp off
        bridge_fd 0
auto vmbr112
iface vmbr112 inet manual
        bridge_ports eth1.2
        bridge_stp off
        bridge_fd 0
# CTRL+X;Y
service networking restart

/!\ Lors de mes tests, j'ai du redémarrer pour que tout fonctionne mais cela demande approfondissement.