-
monosphere-bastion-3.5.0 Stable
released this
2026-07-05 14:21:30 +02:00 | 1 commits to main since this releaseChangelog
[3.5.0] — 2026-07-05
Nouvelles fonctionnalités
- Transfert de fichiers non-interactif : deux commandes SSH pour transférer des fichiers à travers le bastion sans stockage intermédiaire :
push_file <server> <dest_path>— envoyer stdin vers un serveur distant en une étaperetrieve_file <server> <src_path>— récupérer un fichier distant sur stdout
- Contrôle des droits de transfert : nouveau fichier
transfer_rights.txtpermettant aux administrateurs de restreindre les transferts par serveur et par utilisateur. Support du wildcard*. - Journalisation des transferts : tous les transferts sont horodatés et logués dans
/var/log/monosphere/transfers.log(user, serveur, fichier, taille, statut). - Consultation des logs depuis le menu admin : nouvelle option
logsaccessible à tous les administrateurs. - Nouveau droit administrateur :
transfercontrol_adminspour gérer les droits de transfert.
Corrections de bugs
admin_menu.sh— Récursion infinie danssessions_viewer: la fonction s'appelait récursivement sans jamais revenir au menu parent, rendant le visionnage des sessions inutilisable. Réécrite avec des boucleswhile/break/returnpropres.admin_menu.sh— Filtre utilisateur cassé : typosuser_map→users_mapetuser_counter→users_counterrendant la fonction de filtrage inopérante.admin_menu.sh— Menu vide0): les lignes sans description (champ 2 vide) ne sont plus affichées comme des options.- SCP : guillemets littéraux dans le chemin distant : les
\"${path}\"étaient passés comme caractères littéraux à SCP, le serveur distant cherchait des fichiers nommés avec des guillemets. - Permission du log de transfert :
/var/log/monosphere/créé avec les bons droits dans le Dockerfile et l'entrypoint. - Destination de download : validation du nom :
basename()appliqué sur le nom de destination pour éviter les fuites de chemin. - Délégation SSH_ORIGINAL_COMMAND : les commandes non-interactives (
push_file,retrieve_file) fonctionnent désormais aussi pour les administrateurs (bastionadmin), pas seulement les utilisateurs (bastionuser).
Améliorations
- Refactoring de l'authentification cible : mutualisation de la logique d'auth (key/password/noauth) dans
scp_to_target()etssh_to_target_cat(). - Défense en profondeur : droits de transfert vérifiés pour
push_fileETretrieve_file. - Dockerfile : création du répertoire de logs à la construction avec les permissions correctes.
- Robustesse : initialisation défensive du fichier de log dans
server_menu.sh.
Documentation
- README : sections complètes pour le transfert de fichiers, la gestion des droits de transfert, les volumes
/var/log/monosphere. - README : table des matières mise à jour.
- README : exemples concrets d'utilisation (push de conf, backup tar, pull de logs).
- CHANGELOG.md : fichier créé.
Fichiers modifiés
Fichier Changements server_menu.sh+ push_file/retrieve_file/check_transfer_rights/scp_to_target/ssh_to_target_cat; retrait du menu interactif et destage_fileadmin_menu.sh+ délégation SSH_ORIGINAL_COMMAND, + transfer_rights_control; correction récursion/typosentrypoint.shCréation des repertoires et fichiers de logs avec permissions DockerfileVersion bump 3.4.11 → 3.5.0, création du log à la construction README.mdNouvelle doc transfert, droits, volumes, sommaire admin_rights.txtAjout du droit transfercontrol_adminstransfer_rights.txtNouveau fichier (créé) sshd_configRenforcement des paramètres de sécurité Notes de version
- Changements non cassants : les fichiers de configuration existants (
authorized_servers.txt,bastion_users.txt,admin_rights.txt) restent compatibles sans modification. - Le dossier
/opt/public/transferetstage_fileont été supprimés (obsolètes depuispush_file). - Version taguée :
monosphere-bastion-3.5.0
Downloads
- Transfert de fichiers non-interactif : deux commandes SSH pour transférer des fichiers à travers le bastion sans stockage intermédiaire :