Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Copyparty - Le serveur de fichiers qui tient dans un seul fichier Python

Marre de Nextcloud qui rame comme un escargot asthmatique ? Vous cherchez une solution pour partager des fichiers sans vous prendre la tête avec des configs interminables ? Alors voici un truc vraiment cool qui devrait vous plaire : Copyparty.

Il s’agit d’un serveur de fichiers complet qui tient dans un seul fichier Python. Pas de dépendances obligatoires, pas de base de données MySQL qui fait des siennes, pas de 150 services Docker à orchestrer, vous téléchargez simplement copyparty-sfx.py, vous le lancez, et hop, vous avez un serveur de fichiers qui fonctionne.

C’est un outil qui gère les uploads resumables (vous pouvez mettre en pause et reprendre vos transferts), le WebDAV pour monter votre serveur comme un disque réseau, un serveur FTP intégré, et même du TFTP si vous êtes dans le rétro.

Et l’interface web est plutôt bien fichue. Vous avez un lecteur audio intégré qui transcode à la volée en MP3 ou Opus selon votre navigateur, un visualiseur de markdown, la génération de miniatures pour les images et vidéos, et même un éditeur de texte avec coloration syntaxique. Et le plus fou c’est que ça marche même sur Internet Explorer 6 !

Pour l’installation, sous Linux/Mac, vous faites :

wget https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py
python3 copyparty-sfx.py

Et voilà, votre serveur tourne sur le port 3923. Par défaut, tout le monde a accès en lecture/écriture au dossier courant, donc pensez à configurer les permissions si vous ne voulez pas que votre beau-frère supprime votre collection de nudes.

Pour une config plus sérieuse, vous pouvez créer des volumes avec des permissions spécifiques. Par exemple :

python3 copyparty-sfx.py -v /mnt/musique:/music:r:rw,bob -a bob:motdepasse123

Ça partage votre dossier /mnt/musique sous l’URL /music, lisible par tous mais modifiable uniquement par l’utilisateur bob.

La fonctionnalité qui va vous faire tomber de votre chaise, c’est le “race the beam”. En gros, vous pouvez commencer à télécharger un fichier pendant qu’il est encore en cours d’upload. C’est du quasi peer-to-peer sans la complexité donc c’est parfait pour partager rapidement des gros fichiers avec des potes.

Et niveau performances, c’est plutôt honorable puisque le développeur annonce 8 Go/s en download et 1 Go/s en upload sur du bon matos. Et si vous voulez rendre votre serveur accessible depuis internet, vous pouvez utiliser Cloudflare Tunnel. C’est gratuit et ça marche nickel :

cloudflared tunnel --url http://127.0.0.1:3923

Cloudflare vous donnera une URL aléatoire que vous pouvez partager. Pensez juste à ajouter --xff-hdr cf-connecting-ip à copyparty pour qu’il détecte correctement les IPs des clients.

Pour les power users, copyparty c’est aussi :

  • Un serveur SMB/CIFS (pour monter comme un partage Windows)
  • La déduplication automatique des fichiers (avec des liens symboliques)
  • L’indexation du contenu avec recherche par tags ID3
  • Des hooks d’événements pour scripter des actions
  • Un support complet de IPv6 et des sockets Unix
  • Une API HTTP pour automatiser des trucs

Le projet est activement maintenu par un développeur qui se fait appeler “9001” (ou “ed”) sur GitHub et il y a même une démo en ligne si vous voulez tester avant d’installer.

Comparé à Nextcloud, c’est clairement moins complet en termes de fonctionnalités collaboratives car y’a pas de calendrier, pas de contacts, pas de suite office intégrée…etc mais si vous cherchez juste un moyen simple et efficace de partager des fichiers, copyparty fait le job sans vous prendre la tête.

Bref, si vous en avez marre des usines à gaz et que vous voulez juste un serveur de fichiers qui marche, copyparty mérite le détour.

SSH-Audit - L'outil indispensable pour sécuriser vos serveurs SSH

Vous saviez qu’il était possible de crasher SSH avec seulement 31 KB/s de trafic ? Hé oui, c’est carrement possible avec l’attaque DHEat, une vulnérabilité vieille de 20 ans qui fait encore des ravages et pourtant, personne n’en parle… Alors aujourd’hui, on va voir comment tester et sécuriser vos serveurs SSH.

SSH-Audit c’est un outil open source qui analyse vos serveurs (et même vos clients SSH) pour détecter tous les problèmes de configuration. Algorithmes obsolètes, vulnérabilités connues, mauvaises pratiques… rien ne lui échappe. Le truc cool, c’est qu’il ne se contente pas de vous balancer des erreurs à la figure. Non, non, il vous explique vraiment pourquoi c’est dangereux et vous propose des solutions concrètes.

Pour l’installer, c’est super easy. Si vous êtes team Python, un simple

pip3 install ssh-audit

et c’est réglé. Et si vous préférez Docker ?

docker pull positronsecurity/ssh-audit

et vous êtes prêt.

Et pour les adeptes de Snap,

snap install ssh-audit

fera le job. Bref, ils ont pensé à tout le monde.

Mais attendez, c’est pas fini puisque SSH-Audit intègre maintenant des tests pour les vulnérabilités les plus récentes. Vous avez entendu parler de l’attaque Terrapin (CVE-2023-48795) ? Cette saleté permet de compromettre l’intégrité du canal SSH en tronquant des messages. Et le pire c’est que 77% des serveurs SSH sur Internet y sont vulnérables. Donc c’est super car SSH-Audit détecte ça en deux secondes et vous dit exactement quoi faire pour vous protéger.

Et ssh-audit ne fait pas que scanner. Il peut carrément simuler des attaques pour tester la résistance de vos serveurs. L’attaque DHEat dont je parlais au début ? Vous pouvez la lancer avec la commande

ssh-audit --dheat=10 targetserver

Ça utilise 10 connexions simultanées pour saturer le CPU du serveur cible. C’est violent mais c’est exactement ce que ferait un attaquant donc mieux vaut découvrir la faille vous-même plutôt que de la laisser à un script kiddie, non ?

Et pour les pros qui gèrent des parcs de serveurs, ssh-audit propose un mode “politique” vraiment malin où au lieu de scanner bêtement, vous définissez une configuration de référence et l’outil vérifie que tous vos serveurs s’y conforment.

Par exemple, si vous voulez que tous vos serveurs Ubuntu 22.04 respectent les dernières recommandations de sécurité, vous pouvez créer une politique avec

ssh-audit -M ma_politique.txt serveur_reference

et l’appliquer partout avec

ssh-audit -P ma_politique.txt serveur_a_tester

D’ailleurs en parlant de ça, l’outil détecte aussi tous les algorithmes qui ne sont pas résistants aux attaques quantiques. En suivant le principe du “Harvest Now, Decrypt Later”, les agences de renseignement stockent déjà vos communications chiffrées en attendant d’avoir des ordinateurs quantiques pour les déchiffrer. SSH-Audit vous alerte sur ces algorithmes vulnérables pour que vous puissiez migrer vers des alternatives quantum-safe.

L’utilisation basique, permet aussi de scanner votre serveur :

ssh-audit monserveur.com

Et pour tester un client SSH (super utile pour vérifier que vos devs utilisent des configs sécurisées), lancez ssh-audit -c et connectez-vous avec ssh -p 2222 test@localhost. L’outil analysera la configuration du client qui se connecte.

Ah et j’oubliais un truc important. Si vous n’avez pas envie de jouer avec la ligne de commande, il y a une interface web sur ssh-audit.com. Vous entrez l’IP de votre serveur et hop, vous avez un rapport détaillé. C’est pratique pour faire un test rapide ou pour montrer à votre boss pourquoi il faut absolument mettre à jour les serveurs.

Voilà, donc si vous gérez des serveurs SSH (et qui n’en gère pas de nos jours ?), ssh-audit devrait faire partie de votre boîte à outils. C’est gratuit, c’est open source, et ça peut littéralement vous sauver les fesses en détectant des vulnérabilités critiques avant qu’elles soient exploitées. Donc faites-vous une faveur et testez vos serveurs maintenant. Vous me remercierez quand vous découvrirez que votre serveur de prod utilise encore des algos SHA-1 ou qu’il est vulnérable à DHEat !

Et si vous voulez aller plus loin, jetez un œil aux guides de durcissement fournis par l’équipe de ssh-audit. Ils expliquent étape par étape comment sécuriser OpenSSH, Dropbear et d’autres implémentations SSH.

Car comme dirait votre psy, détecter les problèmes c’est bien, mais les corriger c’est encore mieux !

❌