Bonjour,
J'ai mis la main sur un petit script qui teste la sécurité de votre seedbox.
Cela test rtorrent et votre configuration serveur web, 70 ou 86 tests au totale.
- vérifie si les points de montage RPC sont protégés (mot de passe requis).
- vérifie si le user1 ne peut pas accéder au point de montage RPC de user2. (seulement si vous faites le test avec 2 users)
- vérifie que user1 peut accéder à son propre point de montage RPC.
- vérifie que aucun fichier dans rutorrent/conf/ ou rutorrent/share/ ne peuvent être consultés.
- vérifie que seul un utilisateur authentifié peut accéder à ruTorrent.
- vérifie si les dossiers .svn/ ne sont pas accessibles.
- vérifie que user1 ne peut pas exécuter du code (remarque : test non exhaustif).
comment l'utiliser :
wget -O httpd-test.sh http://sourceforge.net/p/autodl-irssi/code/HEAD/tree/tags/v1.31/httpd-test.sh?format=raw
chmod +x httpd-test.sh
./httpd-test.sh hostname.com /rutorrent toto pass /TOT0
Si vous tapez :
./httpd-test.sh
Il y a aura la doc du script qui va s'afficher.
Vous pouvez tester plusieurs utilisateurs en même temps :
./httpd-test.sh hostname.com /rutorrent toto pass /TOT0 alex pass /ALE0
Vous aurez besoin peut-être d'une dépendance pour faire fonctionner le script.
aptitude install curl libxmlrpc-c3-dev libxmlrpc-core-c3-dev
Personnellement j'ai raté 7 tests sur 70 :
Server: xx.xx.xx.xx
Web server: nginx
rtorrent: 0.9.2/0.13.2
FAILED: XMLRPC: Could execute code (execute)
FAILED: XMLRPC: Could execute code (execute_capture)
FAILED: XMLRPC: Could execute code (execute_capture_nothrow)
FAILED: XMLRPC: Could execute code (execute_nothrow)
FAILED: XMLRPC: Could execute code (execute_raw)
FAILED: XMLRPC: Could execute code (execute_raw_nothrow)
FAILED: XMLRPC: Could execute code using the created func
7 of 70 tests failed!
ça m'inquiète pas plus que ça pour la raison que nos processus rtorrent tournent sous des users qui n'ont pas d'accès super utilisateur.
Par contre si vous faites tourner rtorrent en root il y a une grosse faille.
En revanche, si un hacker récupère votre mot de passe alors il pourra faire ce qu'il veut dans votre home. Supprimer/modifier/écrire.
ça montre ici l'importance des connexions ssl (https). Il existe un patch pour empêcher rtorrent d'exécuter des commandes dans le shell pour la version 0.8.6. Personnellement je ne le fait pas puisque j'ai besoin de pouvoir exécuter des commandes après un téléchargement (voir tuto cakebox).
exemple : la commande de la mort qui tue :s
xmlrpc -- http://user:pass@hostname.com/RPC1 execute_capture rm -rf /
Si rtorrent fonctionne sous root c'est la catastrophe. Si le hacker est un petit malin c'est l’apocalypse. (ça équivaut à un accès ssh en root)
vous pouvez essayer ça sans risque ( ça liste tous vos fichiers téléchargé) :
xmlrpc -- http://user:pass@hostname.com/RPC1 execute_capture ls -al /home/<user>/torrents
Je cherche une solution de mon coté pour éviter d’exécuter du code comme ça. Mais le problème c'est que si on interdit d’exécuter du code on risque de couper les services comme transdroid. To be continued..
source :
http://forums.rutorrent.org/index.php?topic=636.0