Vu que ma version d'OpenSSH ne supportait pas le chroot en natif et que j'avais moyennement envie d'installer une nouvelle version majeure, j'ai trouvé une autre solution.
Il s'agit de modifier le seul script autorisé a être exécuté par mon utilisateur miroir (via le fichier "authorized_keys")
# Solution retenue
Posté par leviathan (site web personnel) . En réponse au message Sécurité d'un rsync via ssh. Évalué à 1.
Vu que ma version d'OpenSSH ne supportait pas le chroot en natif et que j'avais moyennement envie d'installer une nouvelle version majeure, j'ai trouvé une autre solution.
Il s'agit de modifier le seul script autorisé a être exécuté par mon utilisateur miroir (via le fichier "authorized_keys")
Voici mon script :
#!/bin/bash
case "$SSH_ORIGINAL_COMMAND" in
*\&*)
echo "Rejected"
;;
*\(*)
echo "Rejected"
;;
*\{*)
echo "Rejected"
;;
*\;*)
echo "Rejected"
;;
*\<*)
echo "Rejected"
;;
*\`*)
echo "Rejected"
;;
*\|*)
echo "Rejected"
;;
*\/*)
echo "Rejected"
;;
rsync\ --server*)
$SSH_ORIGINAL_COMMAND
;;
*)
echo "Rejected"
;;
esac
L'ajout du cas "/" permet de bloquer l'utilisateur aux seuls modules définis dans le fichier rsyncd.conf et d'empêcher les miroirs de mettre un path.