This commit is contained in:
Stephane M 2025-07-21 22:46:00 +02:00
parent 5764d6ddf1
commit 329ec7fbe3
5 changed files with 51 additions and 46 deletions

View File

@ -29,7 +29,7 @@ $IP_SERVER ansible_host=$IP_SERVER ansible_user=$SSH_USER ansible_password=$SSH_
EOL EOL
# Lancer le playbook Ansible # Lancer le playbook Ansible
ansible-playbook -i "$INVENTORY_FILE" playbooks/fail2ban.yml --extra-vars "ssh_port=$SSH_PORT mattermost_webhook=$MATTERMOST_WEBHOOK" ansible-playbook -vvvv -i "$INVENTORY_FILE" playbooks/fail2ban.yml --extra-vars "ssh_port=$SSH_PORT mattermost_webhook=$MATTERMOST_WEBHOOK"
# Supprimer le fichier temporaire après utilisation # Supprimer le fichier temporaire après utilisation
rm -f "$INVENTORY_FILE" rm -f "$INVENTORY_FILE"

48
ansible/install_fail2ban_v2.sh Executable file
View File

@ -0,0 +1,48 @@
#!/bin/bash
# Vérifie si Zenity est installé, sinon l'installe
if ! command -v zenity &> /dev/null; then
echo "Zenity non trouvé, installation..."
sudo apt update && sudo apt install -y zenity
fi
# Demande les infos via Zenity
IP_SERVER=$(zenity --entry --title "Configuration Serveur" --text "Entrez l'adresse IP du serveur :")
SSH_USER=$(zenity --entry --title "Configuration Serveur" --text "Entrez l'utilisateur SSH :")
SSH_PASS=$(zenity --password --title "Configuration Serveur" --text "Entrez le mot de passe SSH :")
SSH_PORT=$(zenity --entry --title "Configuration Serveur" --text "Entrez le port SSH (ex: 22) :" --entry-text "")
MATTERMOST_WEBHOOK=$(zenity --entry --title "Mattermost" --text "Entrez l'URL du webhook Mattermost :" --entry-text "https://mattermost.yeagerdan.com/hooks/c5nmzrf64fd33b1iqnm6zmt48o")
# Vérifie si les variables sont vides
if [[ -z "$IP_SERVER" || -z "$SSH_USER" || -z "$SSH_PASS" || -z "$SSH_PORT" || -z "$MATTERMOST_WEBHOOK" ]]; then
zenity --error --title "Erreur" --text "Toutes les informations sont requises !"
exit 1
fi
# Crée un fichier d'inventaire temporaire
INVENTORY_FILE=$(mktemp)
# Crée le fichier d'inventaire avec les informations fournies
cat > "$INVENTORY_FILE" <<EOL
[servers]
$IP_SERVER ansible_host=$IP_SERVER ansible_user=$SSH_USER ansible_password=$SSH_PASS ansible_port=$SSH_PORT ansible_become_password=$SSH_PASS
EOL
# Lance le playbook avec forçage de l'authentification par mot de passe
SSH_AUTH_SOCK= ansible-playbook -i "$INVENTORY_FILE" playbooks/fail2ban.yml \
--extra-vars "ssh_port=$SSH_PORT mattermost_webhook=$MATTERMOST_WEBHOOK" \
-e 'ansible_ssh_common_args="-o PreferredAuthentications=password -o PubkeyAuthentication=no"' \
--ask-vault-pass
# Supprimer le fichier temporaire après utilisation
rm -f "$INVENTORY_FILE"
# Affiche un message de succès
zenity --info --title "Installation terminée" --text "Fail2ban a été installé et configuré sur $IP_SERVER."
if [ ! -f "$INVENTORY_FILE" ]; then
echo "Le fichier inventaire a été supprimé avec succès."
else
echo "Erreur : le fichier inventaire n'a pas pu être supprimé."
fi

View File

@ -1,2 +0,0 @@
[server_web]
192.168.1.116 ansible_user=root ansible_ssh_pass='testtest' ansible_hostname='EvoTechSphere' user_password='QH~6iZUJLkT3>u<'}E`L*6X['

View File

@ -15,7 +15,7 @@ cloud-01 ansible_host=10.0.0.3 ansible_port=22
netbox ansible_host=10.0.0.16 ansible_port=22 netbox ansible_host=10.0.0.16 ansible_port=22
rustdesk ansible_host=10.0.0.18 ansible_port=22 rustdesk ansible_host=10.0.0.18 ansible_port=22
website-02 ansible_host=192.168.1.164 ansible_port=22 website-02 ansible_host=192.168.1.164 ansible_port=22
debomv-01 ansible_host=192.168.1.94 ansible_port=22
[server_web] [server_web]
#192.168.1.116 ansible_user=root ansible_ssh_pass=testtest #192.168.1.116 ansible_user=root ansible_ssh_pass=testtest
@ -31,7 +31,7 @@ website-02 ansible_host=192.168.1.164 ansible_port=22
#192.168.1.14 ansible_user=smauro ansible_port=52190 #192.168.1.14 ansible_user=smauro ansible_port=52190
#192.168.1.10 ansible_user=smauro ansible_port=52190 #192.168.1.10 ansible_user=smauro ansible_port=52190
#192.168.1.145 ansible_user=smauro #192.168.1.145 ansible_user=smauro
192.168.1.94 ansible_user=smauro 192.168.1.94 ansible_user=smauro ansible_port=22 ansible_ssh_private_key_file=~/.ssh/id_rsa
[grafana] [grafana]
#192.168.1.58 ansible_user=smauro #192.168.1.58 ansible_user=smauro

View File

@ -1,41 +0,0 @@
[debians]
website-mc ansible_host=10.0.0.2
ids-01 ansible_host=10.0.0.6
db-02 ansible_host=10.0.0.7
steph ansible_host=10.0.0.9
revproxy-01 ansible_host=10.0.0.4
minecraft ansible_host=10.0.0.5
evotechsphere ansible_host=10.0.0.11
collaboraonline ansible_host=10.0.0.12
n8n ansible_host=10.0.0.13
bookstack ansible_host=10.0.0.17
gitea ansible_host=10.0.0.19
[server_web]
#192.168.1.116 ansible_user=root ansible_ssh_pass=testtest
#192.168.1.145 ansible_user=root ansible_ssh_pass=testtest
#192.168.1.118 ansible_user=root ansible_ssh_pass=testtest
[server]
#192.168.1.136 ansible_user=smauro
#192.168.1.248 ansible_user=smauro
#192.168.1.168 ansible_user=smauro
#192.168.1.14 ansible_user=smauro ansible_port=52190
#192.168.1.10 ansible_user=smauro ansible_port=52190
#192.168.1.145 ansible_user=smauro
[grafana]
#192.168.1.58 ansible_user=smauro
#192.168.1.249 ansible_user=smauro ansible_port=59008
#192.168.1.65 ansible_user=smauro
#192.168.1.138 ansible_user=smauro ansible_port=59512
#192.168.1.251 ansible_user=smauro ansible_port=59513
#192.168.1.168 ansible_user=smauro
#192.168.1.136 ansible_user=smauro
#192.168.1.248 ansible_user=smauro
#192.168.1.10 ansible_user=smauro ansible_port=52190
#192.168.1.14 ansible_user=smauro ansible_port=52190
#192.168.1.57 ansible_user=smauro
#192.168.1.145 ansible_user=smauro
#192.168.1.118 ansible_user=smauro