Modification README et amélioration du server_menu

Ajout d'une sous section concernant les bugs en cours de correction dans
le projet.

Amelioration du script de manu serveurs du bastion en ajoutant une
boucle permettant un retour dans le menu lors d'une déconnexion d'une
machine distante.
Cela permet un retour au bastion pour plus facilement se reconnecter
à d'autres équipements à la fin de sa session.
This commit is contained in:
Siphonight 2024-07-03 01:06:33 +02:00
parent ef750e7c69
commit 8cd1e8d5d3
2 changed files with 43 additions and 31 deletions

View File

@ -47,9 +47,8 @@ Voici une liste des différentes fonctionnalités déjà en place sur le bastion
## Objectifs des mises à jour
Ci-dessous une liste non exhaustive des objectifs des prochaines mises à jour du projet:
- [ ] Ajouter le support pour un serveur LDAP. (Objectif sur le long terme)
- [ ] Ajouter un système de mise à jour automatique dans le conteneur, évitant ainsi les redéploiements.
- [ ] Ajouter la possibilité de revenir dans le menu des serveurs après une déconnexion d'une machine distante.
- [x] Ajouter la possibilité de revenir dans le menu des serveurs après une déconnexion d'une machine distante.
- [ ] Améliorer le système de journalisation du déploiement du bastion, avec les erreurs de déploiement affichées lors de la connexion des utilisateurs internes.
- [ ] Ajouter un menu d'administration et de gestion lors de la connexion des utilisateurs internes du bastion.
- [ ] Créer des rôles administrateur/inspecteur avec des droits différents au sein du bastion.
@ -58,6 +57,10 @@ Ci-dessous une liste non exhaustive des objectifs des prochaines mises à jour d
- [x] Ajouter le support pour différents utilisateurs distants.
- [x] Intégration de ttyrec pour la sauvegarde des sessions effectuées sur le bastion.
Correction en cours pour les bugs ci dessous :
- Ajout de vérification de la présence des configurations afin de ne pas répéter les paramètres dans les fichiers à chaque redémarrage du conteneur.
- Correction d'un bug autorisant systématiquement des utilisateurs du bastion à se connecter sur les serveurs distants si le compte d'accès à ce dernier porte le même nom que l'utilisateur du bastion.
## Installation
Pour installer Monosphere Bastion, clonez ce dépôt et construisez l'image Docker en utilisant le fichier Dockerfile fourni.

View File

@ -10,6 +10,7 @@ if [ -z "$USER_SERVERS" ]; then
exit 1
fi
function main_menu () {
echo "Veuillez sélectionner un serveur auquel vous connecter :"
counter=1
@ -25,11 +26,14 @@ while read -r line; do
counter=$((counter + 1))
done <<< "$USER_SERVERS"
read -r -p "Votre choix (1-${#server_map[@]}): " choice
echo "$counter) Tapez 'quit' pour vous déconnecter."
if [ -z "$choice" ] || [ -z "${server_map[$choice]}" ]; then
read -r -p "Votre choix (1-$counter): " choice
if [ "$choice" == "quit" ]; then
exit 0
elif [ -z "$choice" ] || [ -z "${server_map[$choice]}" ]; then
echo "Sélection invalide."
exit 1
fi
selected_server="${server_map[$choice]}"
@ -43,3 +47,8 @@ else
ttyrec -z --"$(echo "$selected_server" | cut -d ' ' -f 1)"-"$(echo "$selected_server" | cut -d ' ' -f 3)"-- -k 300 --warn-before-kill 60 -- ssh -p "$(echo "$selected_server" | cut -d ' ' -f 2)" -i /home/"$CONNECTED_USER"/"$(echo "$selected_server" | cut -d ' ' -f 4)" "$(echo "$selected_server" | cut -d ' ' -f 3)"@"$(echo "$selected_server" | cut -d ' ' -f 1)"
rm -rf /home/"${CONNECTED_USER:?}"/"$(echo "$selected_server" | cut -d ' ' -f 4)"
fi
}
while true; do
main_menu
done