6 Commits
v0.2 ... v0.3

Author SHA1 Message Date
571c9e9120 Mise à jour des fichiers de configs et ajout du docker-compose de prod 2025-10-15 09:00:04 +02:00
582268744b Actualiser README.md 2025-10-15 08:40:14 +02:00
2965573551 Actualiser README.md 2025-10-14 11:43:10 +02:00
9c430b9523 Actualiser README.md 2025-10-14 11:42:24 +02:00
8743403f4c Actualiser README.md 2025-10-14 11:41:35 +02:00
a129217889 Actualiser configs/goss.yaml
Fichier goss.yaml de ap31-prod
2025-10-10 11:15:32 +02:00
5 changed files with 84 additions and 27 deletions

View File

@@ -61,23 +61,23 @@ La partie systèmes et réseaux consiste à déployer une infrastructure virtual
---
# Mission I2 - Supervision des serveurs ap31-prod et ap31-test
## Mission I2 - Supervision des serveurs ap31-prod et ap31-test
## Objectifs de la mission
### Objectifs de la mission
- Superviser les serveurs `ap31-prod` et `ap31-test` avec Zabbix installé sur `ap31-mon`.
- Vérifier la connectivité (ping), accès SSH, et service web pour `ap31-test`.
- Utiliser les agents `zabbix_agent2` et associer les templates `linux-server`.
- Envoyer des notifications en cas dincident (non réalisé via Zabbix mais avec Uptime Kuma).
## Installation et configuration
### Installation et configuration
- Installation via `apt` des paquets Zabbix serveur, frontend, agent2, et MariaDB.
- Création dune base MariaDB dédiée à Zabbix avec utilisateur spécifique et import du schéma initial.
- Configuration de linterface web Zabbix avec connexion à la base MariaDB locale.
- Activation automatique et vérification des services Zabbix.
## Déploiement et supervision
### Déploiement et supervision
- Utilisation du wizard agent avec clés PSK pour déployer les agents sur `ap31-prod` et `ap31-test`.
- Association des templates `linux-server` aux agents.
@@ -87,15 +87,15 @@ La partie systèmes et réseaux consiste à déployer une infrastructure virtual
---
# Mission I3 - Mise en place d'une infrastructure de gestion centralisée des logs
## Mission I3 - Mise en place d'une infrastructure de gestion centralisée des logs
## Objectifs de la mission
### Objectifs de la mission
- Centraliser les logs de plusieurs serveurs (`ap31-prod`, `ap31-test`, `gwsiox`) sur une machine dédiée (`ap31-mon`) via `systemd-journal-remote`.
- Mettre en place une politique de rotation et de rétention des logs syslog, avec une rotation hebdomadaire sur 4 semaines.
- Garantir la cohérence temporelle entre toutes les machines impliquées grâce à une synchronisation horaire fiable.
## Mise en œuvre
### Mise en œuvre
### Sur la machine centrale (réceptrice `ap31-mon`)
@@ -116,3 +116,35 @@ La partie systèmes et réseaux consiste à déployer une infrastructure virtual
---
## Mission I4 Sécurisation et sauvegarde de la base de données
### Objectifs de la mission
- Sécuriser l'accès SSH aux machines via authentification par clé publique uniquement.
- Mettre en place une **sauvegarde automatique, compressée et quotidienne** de la base MariaDB sur `ap31-test`.
- Conserver un **historique de 7 jours** de ces sauvegardes.
- Fournir un script permettant de **restaurer la dernière sauvegarde** sur `ap31-prod`.
### Sécurisation de l'accès SSH
- Utilisation exclusive de l**authentification par clé publique** :
- Ajout des clés des administrateurs dans le fichier `~/.ssh/authorized_keys`.
- Désactivation de lauthentification par mot de passe dans `/etc/ssh/sshd_config` (`PasswordAuthentication no`).
- Configuration du fichier `~/.ssh/config` pour permettre la connexion via **nom de domaine personnalisé**, avec des alias pour simplifier l'accès aux serveurs (ex. : `ssh ap31-prod`).
- Redémarrage du service SSH pour prise en compte des modifications.
### Sauvegarde automatisée de MariaDB sur `ap31-test`
- Mise en place dun **script bash exécuté quotidiennement** (via cron) pour :
- Effectuer un **dump** de la base `sdis29` avec lutilisateur `adminBDsdis`.
- Compresser la sauvegarde (`gzip`).
- La stocker dans `/var/backups/mariadb` avec un nom de fichier horodaté.
- Supprimer les sauvegardes plus anciennes que 7 jours.
### Restauration de la dernière sauvegarde sur `ap31-prod`
- Un script permet de :
- **Décompresser** la dernière sauvegarde disponible.
- **Restaurer automatiquement** le fichier SQL dans la base `sdis29` sur `ap31-prod` à laide des identifiants fournis.

View File

@@ -0,0 +1,32 @@
services:
payara:
image: payara/server-full:6.2025.9-jdk17
container_name: payara
ports:
- "8080:8080"
- "4848:4848"
env_file:
- "variables.env"
restart: unless-stopped
db:
image: mariadb:latest
container_name: db
ports:
- "3336:3306"
env_file:
- "variables.env"
volumes:
- ./data/db_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin:latest
container_name: phpmyadmin
restart: always
ports:
- 2500:80
environment:
- PMA_ARBITRARY=1
env_file:
- "variables.env"

View File

@@ -7,26 +7,19 @@ services:
- "4848:4848"
env_file:
- "variables.env"
volumes:
- ./mariadb-java-client-3.5.6.jar:/opt/payara/glassfish/domains/domain1/lib/mariadb-java-client-3.5.6.jar:ro
restart: unless-stopped
db:
image: mariadb:latest
container_name: db
ports:
- "3336:3306"
- "3306:3306"
env_file:
- "variables.env"
volumes:
- ./data/db_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin:latest
container_name: phpmyadmin
restart: always
ports:
- 2500:80
environment:
- PMA_ARBITRARY=1
env_file:
- "variables.env"
- ./init:/docker-entrypoint-initdb.d
restart: unless-stopped

View File

@@ -10,17 +10,17 @@ interface:
eth0:
exists: true
addrs:
- 172.16.0.101/24
- 172.16.0.100/24
- fe80::be24:11ff:fed2:d5ff/64
mtu: 1500
http:
http://ap31-test.sio.lan:8080/:
http://ap31-prod.sio.lan:8080/:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 10000
body: []
https://ap31-test.sio.lan:4848/:
https://ap31-prod.sio.lan:4848/:
status: 200
allow-insecure: true
no-follow-redirects: false

View File

@@ -1,7 +1,7 @@
MYSQL_DATABASE=bdclient
MYSQL_DATABASE=sdis29
MYSQL_HOST=db
MYSQL_PORT=3306
MYSQL_USER=adminBDCli
MYSQL_USER=adminBDsdis
MYSQL_PASSWORD=u@4xKH@X
MYSQL_ROOT_PASSWORD=2Fc#$9Fn