PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Yannic Arnoux : Installation d'un serveur de containers

dimanche 14 octobre 2018 à 02:00

Plus des notes techniques pour ma mémoire défaillante qu’un véritable article, je vais compiler les étapes d’installation d’un serveur de containers. Quel système d’exploitation ? j’ai envie de dire on s’en cogne mais il est préférable de choisir une distribution poussée par Docker pour se simplifier la vie ; ce sera donc Debian 9 Stretch supportée sur Dedibox.

J’installe donc via l’interface d’administration Online. Je choisis le mot de passe root, le compte utilisateur et son mot de passe. Online me communique ma configuration réseau :

SSH

Je vérifie qu’on peut se connecter au serveur :

ssh yax@xxx.yyy.zzz.xxx

Je me déconnecte et génère une clef avec ssh-keygen, en choisissant une clef RSA. On peut fournir une passphrase si on pense qu’elle peut tomber entre de mauvaises mains. Je nomme ma clef fr_mondomaine ; cela génère une clef publique fr_mondomaine_rsa.pub et une clef privée fr_mondomaine_rsa.

Je copie la clef publique sur le serveur :

ssh-copy-id -i fr_mondomaine_rsa.pub yax@xxx.yyy.zzz.xxx

On peut simplifier la connexion au serveur en modifiant la configuration du client SSH ~/.ssh/config de sa machine pour que l’utilisateur et la clef soient choisis sans le spécifier sur la ligne de commande :

Host fr.mondomaine
    User yax
    Hostname xxx.yyy.zzz.xxx
    IdentityFile ~/.ssh/fr_mondomaine_rsa

Je vérifie qu’on se connecte sans saisir de mot de passe :

ssh fr.mondomaine

J’interdis complètement la connexion SSH au compte root. Pour cela, je me connecte au serveur, je passe en root avec su et j’édite le fichier de configuration du service SSH /etc/ssh/sshd_config pour fixer les paramètres suivants :

PermitRootLogin no
PasswordAuthentication no

Je redémarre le service SSH :

systemctl restart sshd

Et si on s’est raté ou si on perd la clef RSA sur notre PC à la maison ? Et bien on est bon pour redémarrer le serveur en mode secours avec la console Dedibox, monter les partitions et se chrooter pour arranger la configuration de SSH. C’est encore faisable facilement car systemd n’a pas encore binarisé tout le système (troll inside).

Je ne configure pas sudo, je veux pouvoir tout faire avec un utilisateur standard, les connexions à root par su doivent rares, principalement pour effectuer les mises à jours du système Debian.

Docker

Installation de Docker CE sur Debian Stretch avec la procédure officielle qui ajoute des dépôts APT Docker pour récupérer une version de Docker plus récente que celle fournie avec Debian Stretch : https://docs.docker.com/engine/installation/linux/docker-ce/debian/

Installation d’une version récente de Docker Compose en suivant aussi la procédure officielle : https://docs.docker.com/compose/install/

Ajout de l’utilisateur yax dans le groupe docker

usermod -aG docker yax

Démarrage automatique de Docker:

systemctl enable docker

Pare-feu

J’installe shorewall pour IPv4, un pare-feu puissant qui ne rajoute pas de service supplémentaire au système puisqu’il traduit ses règles assez complexes en règles iptables.

apt-get install shorewall

Par sécurité, le temps de mettre au point les règles, je désactive le démarrage automatique :

systemctl disable shorewall

Si ça foire, je pourrai toujours forcer un redémarrage électrique du serveur :-)

Docker a la particularité de gérer ses propres règles iptables pour l’accès aux containers ce qui rend sa cohabitation délicate avec tout pare-feu basé sur iptables Depuis quelques versions, Shorewall supporte Docker, ce qui revient à dire qu’il le laisse faire sa sauce et gère les règles iptables qui lui sont propres.

Donc j’édite /etc/shorewall/shorewall.conf et déclare que je vais utiliser Docker :

STARTUP_ENABLED=Yes
DOCKER=Yes

Puis j’édite /etc/shorewall/zones pour définir mes zones :

#ZONE         TYPE        OPTIONS
fw            firewall
net           ipv4
dock          ipv4        # 'dock' is just an example

Et les règles de passage d’une zone à l’autre en éditant /etc/shorewall/policy :

#SOURCE        DEST        POLICY         LEVEL
$FW            net         ACCEPT
net            all         DROP           info 
dock           $FW         REJECT
dock           all         ACCEPT
# last rule
all            all         REJECT         info

Enfin, j’associe les zones aux interfaces physiques (attention enp1s0 est le nom de l’interface Ethernet de mon serveur), en éditant /etc/shorewall/interfaces :

?FORMAT 2
#ZONE          INTERFACE        OPTIONS
net            enp1s0           dhcp,tcpflags,logmartians,nosmurfs,sourceroute=0
dock           docker0          bridge,routeback=0   #Disallow ICC

Là on a un pare-feu opérationnel qui refuse toute connexion entrante ; on ajoute quelques règles pour autoriser le PING ICMP et les connexions SSH avec une limite de 3 connexions par minute (pour calmer les facheux).

Ca se passe dans le fichier /etc/shorewall/rules :

#ACTION     SOURCE      DEST        PROTO   DEST    SOURCE      ORIGINAL    RATE        USER/   MARK    CONNLIMIT   TIME        HEADERS     SWITCH      HELPER
#                           PORT    PORT(S)     DEST        LIMIT       GROUP
?SECTION ALL
?SECTION ESTABLISHED
?SECTION RELATED
?SECTION INVALID
?SECTION UNTRACKED
?SECTION NEW

# Drop packets in the INVALID state

Invalid(DROP)  net              $FW     tcp

# Drop Ping from the "bad" net zone.. and prevent your log from being flooded..

Ping(ACCEPT)    net     $FW

# Permit all ICMP traffic FROM the firewall TO the net zone
ACCEPT          $FW     net     icmp

SSH(ACCEPT)     net             all         -        -            -         -                s:1/min:3

Tester la sécurité

Là ça devient plus amusant ! Je reboote et je démarre manuellement shorewall puis je jette un oeil à la bonne cohabitation des règles iptables entre Shorewall et Docker :

iptables -L -n -v

D’abord je teste les accès distants :

Enfin je teste la sécurité intra-docker en déployant 3 containers Docker avec l’image tcpping :

version: "3"
services:
  web1:
    image: tcpping
    expose:
      - 80
    networks:
      - frontend
  web2:
    image: tcpping
    networks:
      - frontend
      - backend
  web3:
    image: tcpping
    ports:
      - 8000:80
    networks:
      - backend
networks:
  frontend:
  backend:

Les containers web1 et web2 sont sur le réseau frontend Les containers web2 et web3 sont sur le réseau backend

Je vérifie les points suivants :

Je refais un scan de port plus poussé avec NMAP et je vois que le port 22 et 8000 (celui de web3) sont accessibles depuis Internet.

Si je liste les règles iptables, je remarque que l’isolation des réseaux entre les containers donne lieu à des règles iptables supplémentaires.

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

elementary OS : Mais quel est ce compteur présent sur le site officiel

samedi 13 octobre 2018 à 21:59

A quoi peut bien correspondre le compteur présent sur le site web officiel d’elementary ?

Cela annoncerait-il la sortie imminente de Juno, la prochaine version de l’OS elementary ? Il semblerait que le code source de la page nous en apprend un peu plus :

Rendez-vous donc le 16 Octobre à partir de 21h00 (CEST) pour en savoir plus sur Juno. Cette version sera la 5e itération d’elementary (les précédentes versions avaient les noms de release suivants : 0.1 aka Jupiter, 0.2 Luno, 0.3 Freya et la version actuelle, 0.4, Loki)

Le billet Mais quel est ce compteur présent sur le site officiel a été publié sur le site de la elementary OS -

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

toitoinebzh : Mise en place d'une seedbox automatisée

vendredi 12 octobre 2018 à 18:41

Une seedbox est un serveur dédié au partage de fichiers. Je présente ici différents outils que j'ai mis en place afin de transformer un vieux pc en une seedbox automatisée. L'objectif est de partager des iso de distributions gnu/linux par le protocole bittorrent et d'automatiser le tout (ajout automatique des dernières versions de distributions publiées).

Le matériel choisi est une simple tour trouvée sur leboncoin avec les caractéristiques suivantes :

Cette mise en place se réalise en plusieurs étapes listées ci-dessous.

Installation d'une distribution Gnu/Linux

Tout d'abord, il est nécessaire d'installer une distribution gnu/linux sur le pc. Je ne détaille pas cette étape, les seules recommandations que je donne ici sont d'installer une version serveur (sans interface graphique type KDE, Gnome, ...) et de choisir une distribution avec un support sur le long terme (pour éviter les réinstallations tous les 6 mois).

La distribution utilisée ici est ubuntu 18.04 LTS, peut-être pas le meilleur choix mais largement suffisant pour se faire la main et comprendre comment fonctionne un serveur.

Dans le cadre de cet exemple,

Le disque dur du serveur a été partitionné de manière à séparer / de /home et une partition /document a également été crée.

antoine@Ninja:~$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0  19,5G  0 part /
├─sda2   8:2    0  19,5G  0 part /home
├─sda3   8:3    0     2G  0 part [SWAP]
└─sda4   8:4    0 424,8G  0 part /document
sr0     11:0    1  1024M  0 rom  
antoine@Ninja:~$

Une fois l'installation terminée, il est nécessaire de s'assurer de la mise en place de l'accès ssh en installant le paquet openssh-server sur le serveur.

sudo apt install openssh-server

A noter que les dépendances de ce paquet installeront tous ce qui est nécessaire à la mise en place d'un accès sftp.

Le serveur peut maintenant être débranché de tous ces périphériques (écran, clavier, souris) seul l'alimentation et le cable éthernet sont nécessaires.

Pour accéder maintenant au serveur depuis n'importe quel client, il suffit de taper

antoine@Frankenstein:~$ ssh antoine@Ninja

On a alors accès au terminal du serveur. On peut par exemple éteindre le pc à distance avec un

antoine@Ninja:~$ sudo shutdown -h now

A noter également que, par défaut, l'utilisateur antoine, n'aura pas les droits d'écriture/lecture sur /document, cela se règle simplement avec un

sudo chown -v $USER:$USER /document

Mise à jour automatique (optionnel)

Afin de réduire les étapes d'administration, il est possible de configurer le serveur de manière à se mettre à jour de manière automatique.

Pour plus d'infos, il est possible d'en savoir plus sur kanjian.fr et sur ubuntu-fr.org.

Tout d'abord, il faut installer le paquet unattended-upgrades

sudo apt install unattended-upgrades

Puis éventuellement, le configurer en éditant les fichiers 50unattended-upgrades et 20auto-upgrades.

Pour éditer le premier fichier,

antoine@Ninja:~$ sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Ce fichier permet de choisir (lignes à commenter/décommenter) quels catégories de paquets seront mis à jour d'une part

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        "${distro_id}:${distro_codename}-updates";
//        "${distro_id}:${distro_codename}-proposed";
//        "${distro_id}:${distro_codename}-backports";
};

D'autre part, on peut également noter la présence de la ligne suivante dans le fichier qui permet de planifier la mise à jour au moment de l'extinction du pc (option intéressante sur un pc de bureau).

Unattended-Upgrade::InstallOnShutdown "true";

Le second fichier permet, quant à lui, de configurer la fréquence à laquelle les opérations de mise à jour seront réalisées (unité en jour).

antoine@Ninja:~$ sudo nano /etc/apt/apt.conf.d/20auto-upgrades

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

Quelques outils pour contrôler l'état du pc (optionnel)

Uns fois que le pc tourne en continu, il peut être bon de s'y connecter de temps en temps pour voir comment les choses vont. Voilà quelques outils intéressants.

Processus

Pour connaitre les processus en cours et voir si il y a emballement par exemple, rien de tel que htop

htop

Sensors

Sensors est un outil qui permet de suivre la température et la vitesse des ventilateurs.

Pour l'installer,

sudo apt install lm-sensors
sudo sensors-detect
sudo service kmod restart # ou redémarrer

pour le lancer,

sensors

Disque dur

Tout d'abord, il peut être intéressant de savoir si les disques sont pleins avec par exemple,

df -h

Pour l'état de santé des disques, smartmontools est le bon point d'entrée. Il s'installe avec un

sudo apt install smartmontools

et s'utilise avec

sudo smartctl -s on -a /dev/sda

Il y a également iotop qui est un outil qui permet de connaitre quelle application sollicite le plus votre disque dur

sudo iotop

sans oublier ncdu qui est pas mal pour connaitre l'occupation du disque également

ncdu

Trafic réseau

Dans le but de suivre le trafic réseau, je conseille également l'usage de speedometer

speedometer -r enp3s0 -t enp3s0 -k 256

speedometer.png



Vue globale

En dehors de ces outils dédiés à des tâches particulières, il y a également deux outils intéressants pour avoir une vue globale sur l'état du serveur.

Le premier est glances qui fonctionne est ligne de commande,

glances.png

le second est phpsysinfo. Celui-ci s'installe via les commandes suivantes

sudo apt install phpsysinfo
cd /var/www/html
sudo ln -s /usr/share/phpsysinfo phpsysinfo

L'interface est ensuite accessible dans le navigateur via l'adresse ninja/phpsysinfo

phpsysinfo.png



Mise en place de la seedbox

Installation et configuration de transmission

L'objectif ici est d'installer le logiciel bittoreent afin de transformer le serveur en une seedbox.

Cette partie s'inspire de plusieurs sources : ici, et là aussi.

L'installation se réalise simplement par un

antoine@Ninja:~$ sudo apt install transmission-daemon

La configuration demande plus d'efforts, il nécessite la modification du fichier settings.json.

sudo nano /etc/transmission-daemon/settings.json

On note principalement la présence des lignes suivantes (à modifier si nécessaire).

"download-dir": "/document/torrent/complete",
"incomplete-dir": "/document/torrent/incomplete",
"incomplete-dir-enabled": true,
"watch-dir": "/document/torrent/watch",
"watch-dir-enabled": true
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-host-whitelist": "",
"rpc-host-whitelist-enabled": true,
"rpc-password": "motdepasse",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "antoine",
"rpc-whitelist": "127.0.0.1,192.168.1.*",
"rpc-whitelist-enabled": true,

L'interface web est alors accessible en tapant ninja:9091 dans la barre d'adresse du navigateur.

transmission_web.png

Au final, le fichier settings.json ressemble à ceci

antoine@Ninja:/document/torrent$ sudo cat  /etc/transmission-daemon/settings.json 
{
    "alt-speed-down": 50,
    "alt-speed-enabled": false,
    "alt-speed-time-begin": 540,
    "alt-speed-time-day": 127,
    "alt-speed-time-enabled": false,
    "alt-speed-time-end": 1020,
    "alt-speed-up": 50,
    "bind-address-ipv4": "0.0.0.0",
    "bind-address-ipv6": "::",
    "blocklist-enabled": false,
    "blocklist-url": "http://www.example.com/blocklist",
    "cache-size-mb": 4,
    "dht-enabled": true,
    "download-dir": "/document/torrent/complete",
    "download-limit": 100,
    "download-limit-enabled": 0,
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "/document/torrent/incomplete",
    "incomplete-dir-enabled": true,
    "lpd-enabled": false,
    "max-peers-global": 200,
    "message-level": 1,
    "peer-congestion-algorithm": "",
    "peer-id-ttl-hours": 6,
    "peer-limit-global": 200,
    "peer-limit-per-torrent": 50,
    "peer-port": 51413,
    "peer-port-random-high": 65535,
    "peer-port-random-low": 49152,
    "peer-port-random-on-start": false,
    "peer-socket-tos": "default",
    "pex-enabled": true,
    "port-forwarding-enabled": true,
    "preallocation": 1,
    "prefetch-enabled": true,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
    "ratio-limit": 2,
    "ratio-limit-enabled": false,
    "rename-partial-files": true,
    "rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-host-whitelist": "",
    "rpc-host-whitelist-enabled": true,
    "rpc-password": "motdepasse",
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "antoine",
    "rpc-whitelist": "127.0.0.1,192.168.1.*",
    "rpc-whitelist-enabled": true,
    "scrape-paused-torrents-enabled": true,
    "script-torrent-done-enabled": false,
    "script-torrent-done-filename": "",
    "seed-queue-enabled": false,
    "seed-queue-size": 10,
    "speed-limit-down": 100,
    "speed-limit-down-enabled": false,
    "speed-limit-up": 100,
    "speed-limit-up-enabled": false,
    "start-added-torrents": true,
    "trash-original-torrent-files": false,
    "umask": 18,
    "upload-limit": 100,
    "upload-limit-enabled": 0,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true,
    "watch-dir": "/document/torrent/watch",
    "watch-dir-enabled": true
}

Une fois le fichier modifié et enregistré, il faut relancer transmission pour prendre en compte les modifications

service transmission-daemon reload

Comme on peut le remarquer un peu plus haut, des chemins vers "download-dir", "incomplete-dir" et "watch-dir" ont été définis. Ces dossiers n'existent pas, il faut donc les créer à l'aide de la fonction mkdir.

La structure suivante a été mise en place dans le dossier /document

torrent/
├── complete
├── incomplete
└── watch

Cependant, il faut faire attention, ces dossiers ont été créés en tant que antoine(Ninja) alors que transmission-daemon est par défaut lancé avec un "utilisateur" appelé debian-transmission. Il risque donc d'avoir des conflits sur les permissions sur ces dossiers.

Il faut donc modifier les droits sur les dossiers

antoine@Ninja:~$ sudo chown antoine:debian-transmission torrent/*
antoine@Ninja:~$ ls -la /document/torrent/
total 36
drwxrwxr-x 5 antoine antoine              4096 sept. 27 18:57 .
drwxr-xr-x 4 antoine antoine              4096 sept. 23 19:15 ..
drwxrwxr-x 5 antoine debian-transmission 12288 sept. 27 18:53 complete
drwxrwxr-x 3 antoine debian-transmission  4096 sept. 27 19:19 incomplete
drwxrwxr-x 2 antoine debian-transmission 12288 sept. 27 19:20 watch

à partir de maintenant, la seedbox est complétement fonctionnelle, pour lancer des torrents, plusieurs méthodes existent

Outils transmission-remote-* (optionnel)

transmission-remote-gtk et transmission-remote-cli sont deux programmes qui permettent de suivre l'état de la seedbox depuis un pc client. Le premier est en interface graphique alors que le second est en ligne de commande.

Pour les installer

sudo apt install transmission-remote-gtk transmission-remote-cli

Pour utiliser transmission-remote-cli

transmission-remote-cli -c antoine:motdepasse@Ninja:9091

transmission_cli.png

transmission-remote-gtk est assez simple d'utilisation et demandera le nom du serveur, du port et de l'utilisateur pour la configuration.

transmission_remote.png

Accès via Filezilla (optionnel)

Pour pouvoir récupérer les fichiers téléchargés, il est plus agréable de passer par l'interface graphique que par la ligne de commande. Sur le pc client, il est par exemple possible d'utiliser un outil tel que Filezilla pour accéder aux fichiers du serveur.

config_filezilla.png



Seedbox automatisée (optionnel)

L'idée d'une seedbox automatisée consiste à faire en sorte

L'idée m'est venue un peu par hasard en consultant Peterp's Blog. Il est à noter que certains logiciels bittorrent permettent de suivre des flux rss pour ajouter automatiquement des fichiers torrent, ce n'est pas le cas par défaut de transmission, voilà comment je m'y suis pris.

Distrowatch

dwbanner.png

Tout d'abord, j'ai voulu mettre en place cette méthodologie en utilisant le flux rss de distrowatch qui diffusent régulièrement les .torrent des nouvelles distributions Gnu/Linux.

J'ai donc créé un script python qui lit ce flux rss, récupère les .torrent et les place dans le "watch-dir". Les torrents sont alors automatiquement ajoutés par transmission. Pour les personnes intéressées, ce script est disponible sur framagit.

Sur le serveur, on télécharge donc tout d'abord le script et on installe les paquets pour le faire tourner

sudo apt install python3-feedparser git
git clone https://framagit.org/toitoinebzh/distrowatchscraper.git

on modifie le fichier afin de définir le chemin vers "watch-dir" (variable TORRENT_LOCATION = "/document/torrent/watch/")

nano distrowatchscraper/distrowatch_torrent_rss.py # modif de TORRENT_LOCATION

Il suffit alors de lancer le script pour récupérer les derniers .torrent.

antoine@Ninja:~$ python3 distrowatchscraper/distrowatch_torrent_rss.py 
This program download every torrent on distrowatch.com rss feed
Downloading :  pfSense-CE-2.4.4-RELEASE-amd64.iso.gz.torrent
Downloading :  smartos-20180927T004151Z.iso.torrent
Already in the directory :  quirky-beaver64-8.7.1.iso.torrent
Already in the directory :  thinstation-5.6.0-Installer-0919.iso.torrent
Already in the directory :  osgeo-live-12.0-amd64.iso.torrent
Already in the directory :  linuxfx-ctos-lts-9.4-x64.iso.torrent
Already in the directory :  omarine-4.1-dvd.iso.torrent
Already in the directory :  systemrescuecd-x86-5.3.0.iso.torrent
Already in the directory :  nitrux_release_1.0.15-1.iso.torrent
Already in the directory :  tails-amd64-3.9.torrent
Already in the directory :  KaOS-2018.08-x86_64.iso.torrent
Already in the directory :  archman-deepin-1809_x86_64.iso.torrent
Already in the directory :  swagarch-1809_x86_64.iso.torrent
Already in the directory :  manjaro-kde-17.1.12-stable-x86_64.torrent
Already in the directory :  neon-useredition-20180830-1023-amd64.iso.torrent
Already in the directory :  smartos-20180830T001556Z.iso.torrent
Already in the directory :  mint-3-lmde-201808-cinnamon-64bit.iso.torrent
Already in the directory :  NetBSD-7.2-amd64.iso.torrent
Already in the directory :  backbox-5.2-amd64.iso.torrent
Already in the directory :  bluestar-linux-4.18.4-2018.08.24-x86_64.iso.torrent
Already in the directory :  Voyager-GS-18.04.1-amd64.iso.torrent
Already in the directory :  nst-28-10439.x86_64.iso.torrent
Already in the directory :  omarine-4.0-dvd.iso.torrent
Already in the directory :  gparted-live-0.32.0-1-amd64.iso.torrent
Already in the directory :  bodhi-5.0.0-64.iso.torrent
antoine@Ninja:~$ 

Evidemment, il est rébarbatif de lancer cette commande à chaque nouvelle sortie d'une distribution, on met donc en place une tache cron pour lancer ce script de manière régulière. (Source d'inspiration)

Tout d'abord on lance crontab

antoine@Ninja:~$ crontab -e # execution sans sudo pour execution du script par antoine

puis on ajoute la ligne suivante dans le fichier

@daily python3 /home/antoine/distrowatchscraper/distrowatch_torrent_rss.py

Cela va lancer le script quotidiennement. On a donc une seedbox complétement autonome.

Autres scripts

à noter que j'ai créé d'autres scripts similaires pour récupérer les .torrent de freetorrent.fr et FDN.fr. Les scripts sont ici.



Ouverture des ports TCP/UDP (si nécessaire)

Dans le cas de difficultés de téléchargement, un moyen d'améliorer les choses peut être de configurer sa box de manière à ouvrir les ports udp/tcp utilisés par transmission (ici le port 51413).

livebox.png

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

Renault : [F29] Participez à la journée de test consacrée à la modularité

vendredi 12 octobre 2018 à 10:00

Aujourd'hui, ce vendredi 12 octobre est une journée dédiée à un test précis : sur la modularité. En effet, durant le cycle de développement, l'équipe d'assurance qualité dédie quelques journées autours de certains composants ou nouveautés afin de remonter un maximum de problèmes sur le sujet.

Elle fournit en plus une liste de tests précis à effectuer. Il vous suffit de les suivre, comparer votre résultat au résultat attendu et le notifier.

En quoi consiste ce test ?

La modularité est le résultat de la réflexion de Fedora.next, amorcé en 2014. L'objectif est de découpler le cycle de vie des applications avec celui de Fedora afin qu'un utilisateur de Fedora bénéficie de plus de flexibilité. Il serait par exemple possible de choisir une version native de Python plus récente ou plus ancienne que celle disponible par défaut. Auparavant cela n'était possible qu'en choisissant une autre version de Fedora ce qui pouvait être contraignant.

Les modules se comportent comme des dépôts supplémentaires proposant un ensemble de paquets destinés à remplacer ceux des dépôts officiels. Mais bien entendu, tout cela est géré par le projet Fedora avec la même qualité et les mêmes mainteneurs.

Le changement majeur pour Fedora 29 est la mise à disposition de cette fonctionnalité nativement pour les autres éditions de Fedora, jusque là uniquement Server en bénéficiait.

Pour le moment Fedora propose quelques modules comme Docker, Django, NodeJS et le langage Go.

Les tests du jour couvrent :

Comme vous pouvez le constater, ces tests sont assez simples et ne devraient prendre que quelques minutes seulement. Il vous faudra bien évidemment installer le dépôt modular avant (paquet fedora-repos-modular).

Comment y participer ?

Vous pouvez vous rendre sur la page des tests pour lister les tests disponibles et rapporter vos résultats. La page wiki récapitule les modalités de la journée.

Si vous avez besoin d'aide lors du déroulement des tests, n'hésitez pas de faire un tour sur IRC pour recevoir un coup de main sur les canaux #fedora-test-days et #fedora-fr (respectivement en anglais et en français) sur le serveur Freenode.

En cas de bogue, il est nécessaire de le rapporter sur le BugZilla. Si vous ne savez pas faire, n'hésitez pas à consulter la documentation correspondante.

De plus, si une journée est dédiée à ces tests, il reste possible de les effectuer quelques jours plus tard sans problème ! Les résultats seront globalement d'actualité.

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

Carl Chenet : L’adblocker, votre capote numérique

vendredi 12 octobre 2018 à 00:00

Votre adblocker sur le web, c’est comme une capote pendant un rapport sexuel. Et mieux vaut se méfier quand un inconnu vous demande de l’enlever.

Une tendance actuelle des sites web, souvent des médias en mal de business-model, est de vous criminaliser et vous demander de désactiver votre adblocker.

Cela va de l’incitation (snif snif on va mourir de faim si tu désactives pas ton adblocker) à la pénalisation (non tu n’entreras pas si tu ne désactives pas ton adblocker).

En gros et pour être clair, on vous demande de désactiver votre adblocker pour :

  1. vous afficher de la publicité non-sollicitée
  2. vous identifier
  3. vous traquer
  4. retirer de vos actions des données personnelles avec lesquelles faire de l’argent

Le premier cas est particulièrement amusant quand, outrepassant l’avertissement, on visite quand même le site avec l’adblocker activé et qu’on regarde la (en général longue) liste des mouchards présents.

Le second cas est plus net. Pas d’adbocker, pas d’accès. Ça peut paraître plus franc au premier abord, mais au final c’est encore plus pervers. Étudions les deux cas.

Premier cas : la supplique

Arrêtons nous un instant au premier cas, assez fréquent pour l’instant, où le site vous ouvre un énorme popup pour tenter de vous attendrir et vous faire… désactiver votre adblocker. Réfléchissons-y deux secondes.

Quand vous rencontrez quelqu’un sur un site ou une appli de rencontre, les buts du rendez-vous peuvent être explicites. On sait ce qu’on vient chercher, les deux partis sont au courant. Ça n’empêche pas des personnes de tenter de commencer le rapport sexuel, puis de tenter un  « ouais j’aime pas trop la capote, je peux l’enlever ? ».

Si le partenaire est un tant soit peu intelligent et a entendu parler des maladies sexuellement transmissibles, une grosse alarme va immédiatement résonner dans sa tête et le « non » va être ferme et immédiat.

On est dans le premier cas de l’adblocker, où les créateurs du sites web tentent de vous émouvoir pour se faire de l’argent sur votre dos et récupérer vos données personnelles, qu’en général d’autres qu’eux vont exploiter. Ce qui est encore pire en fait car ni vous ni lui ne sachez exactement ce que deviennent vos données.

La réponse doit être aussi ferme : non. On se connaît pas, mon adblocker m’affiche des dizaines de mouchards, je n’ai aucune idée des conséquences si je désactive mon adblocker en visitant ce site, donc je ne le fais pas.

Second cas : l’interdiction

L’interdiction d’accès paraît un modèle davantage franc. Service contre service, tu veux accéder au site, tu désactives ton adblocker. Simple et direct. Mais en fait, c’est encore pire que le premier.

Portail anti-adblocker du Business Insider version US

Pour reprendre l’analogie de la rencontre orientée sexe, on peut comparer ça au partenaire qui dit : ah non, moi je le fais pas avec une capote ! Qu’est-ce que ça cache ? Peut-être rien en effet, la personne n’aime peut-être pas le contact du caoutchouc. Mais peut-être aussi qu’il a aussi une maladie sexuellement transmissible ! Donc le risque n’est pas acceptable.

Et dans le cas de ces sites bourrés de mouchards, on SAIT qu’ils ont non pas une mais plusieurs MST ! Qu’ils vont vous afficher des publicités dont le contenu leur échappe totalement car ils délèguent cette partie à une régie publicitaire.

44 actions de Ublock Origin sur le site du Figaro, ça commence à faire beaucoup

J’ai pour ma part déjà été plusieurs fois choqué du contenu de certaines publicités affichées sur des sites institutionnels. Et en remontant le problème au responsable du site, il s’est bien sûr déchargé de sa responsabilité sur la régie publicitaire. La bonne blague.

Donc pour résumer, on te demande d’enlever ta capote, pardon, ton adblocker pour jouir du contenu qu’on échange contre tes données personnelles et du tracage qui va s’en suivre et en particulier son utilisation dans le cadre du reciblage publicitaire.

Qu’est-ce que le reciblage publicataire (ou retargeting en anglais) ? Deux exemples :

Le reciblage et le traçage en général indiquent qu’une société à but lucratif amasse des données sur vous en secret qui vont constituer un « double » numérique de vous basé sur toutes vos informations amassées. Ce profil entraînera des actions, comme de la présentation de publicité – mais on peut imaginer bien d’autres applications commerciales – qui seront prises à votre égard sur la base de ce double numérique dont la véracité et la cohérence reposent sur des algorithmes qui nous échappent totalement.

Pour revenir à notre sujet et dans le second cas, donc, les propriétaires du site savent que leur site est rempli de mouchards et d’outils de monétisation de contenu de la vie privée des utilisateurs. Et nous sommes censés y aller sans protection ? Horrible. Et bien sûr, dans ce cas de monétisation, plus le trafic est grand, plus les gains sont importants. D’où une course au buzz et donc à la massification du trafic avec les effets que l’on peut imaginer sur le contenu.

La troisième voie

Après avoir étudié les deux points précédents, la question qui arrive immédiatement est : quelle est la troisième voie ?

On observe depuis quelques années un retour-arrière vers un modèle payant des la plupart des sites d’informations. Oui, contrairement à ce qu’on a cru lors de la massification de l’accès aux sites d’informations en ligne, produire de l’information et un contenu de qualité coûtent cher et vous payez quelque soit la manière à laquelle vous accédez à l’information.

Actuellement, c’est avec vos données personnelles, le reciblage publicitaire, l’affichage de publicité, également par le placement de produits qui pose d’énormes problèmes de conflits d’intérêt, et enfin par les abonnements payants qui se développent. Et c’est normal, il faut bien que les journalistes mangent.

La troisième voie qui se développe et qui semble la plus pérenne est celle de l’abonnement payant. Ce modèle passe donc par réduire le nombre de « visionneurs » potentiels du contenu proposé, certes, mais permettrait d’obtenir un revenu récurrent stable et qui permettrait d’améliorer et de fiabiliser la qualité de l’information produite.

Mediapart, accessible uniquement sur abonnement

Par contre, on peut observer au niveau technique que le traçage ne disparaît pas lorsque l’on est abonné, l’affichage de publicité non plus (si vous connaissez des exemples, laissez-moi un commentaire, je ne peux pas être abonné à tous les médias). Dans ce cas de figure et sans un adblocker, on paierait en quelque sorte double en tant qu’abonné, ce qui est évidemment choquant.

Imaginez-vous cette scène chez votre boulanger ? La double peine !

Il reste donc aux sites d’information à comprendre cet enjeu majeur et à adapter leurs infrastructures pour apprendre à choyer davantage leurs abonnés et à fermer davantage la porte au tout venant qui, de toute façon, sera de plus en plus équipé d’adblockers, le surf étant devenu insupportable sur certains sites (vidéos avec le son démarrant, pub situé aux pires endroits sur le chemin de lecture,…). On en vient parfois à se demander si les gens qui réalisent ces pages lisent leur propre site. Le doute est souvent permis.

Payer l’accès à l’information est pour moi indispensable à fournir aux médias l’argent nécessaire pour bien travailler. L’accès gratuit de masse aux grands sites de presse a été un échec qu’il est indispensable de constater. Au siècle dernier, on payait systématiquement pour acheter le journal ou on s’abonnait. Si par contre le modèle d’abonnement redevient la norme ou continue de grandir, ce qu’on peut supposer vu le virage à 180° pris par la plupart des grands médias devant la perte colossale de revenus qu’ils ont subi ces dernières annés, ils devront néanmoins jouer le jeu et changer radicalement leur comportement vis-à-vis de leurs abonnés, désormais protégés derrière des adblockers qu’il n’est pas question de désactiver, vu les dangers encourus pour les libertés individuelles et la vie privée que leurs prestataires de monétisation font courir aux utilisateurs.

L’auteur

Carl Chenet est le fondateur du Courrier du hacker, la newsletter hebdomadaire résumant l’actualité francophone du Logiciel Libre et Open Source, avec aujourd’hui 56 numéros publiés et plus de 2000 abonnés.

Me suivre sur les réseaux sociaux

N’hésitez pas à me suivre directement sur les différents sociaux pour suivre au jour le jour mes différentes projets dans le Logiciel Libre :

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