Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 571c9e9120 | |||
| 582268744b | |||
| 2965573551 | |||
| 9c430b9523 | |||
| 8743403f4c | |||
| a129217889 |
46
README.md
46
README.md
@@ -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`.
|
- 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`.
|
- 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`.
|
- Utiliser les agents `zabbix_agent2` et associer les templates `linux-server`.
|
||||||
- Envoyer des notifications en cas d’incident (non réalisé via Zabbix mais avec Uptime Kuma).
|
- Envoyer des notifications en cas d’incident (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.
|
- Installation via `apt` des paquets Zabbix serveur, frontend, agent2, et MariaDB.
|
||||||
- Création d’une base MariaDB dédiée à Zabbix avec utilisateur spécifique et import du schéma initial.
|
- Création d’une base MariaDB dédiée à Zabbix avec utilisateur spécifique et import du schéma initial.
|
||||||
- Configuration de l’interface web Zabbix avec connexion à la base MariaDB locale.
|
- Configuration de l’interface web Zabbix avec connexion à la base MariaDB locale.
|
||||||
- Activation automatique et vérification des services Zabbix.
|
- 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`.
|
- 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.
|
- 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`.
|
- 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.
|
- 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.
|
- 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`)
|
### 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 l’authentification 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 d’un **script bash exécuté quotidiennement** (via cron) pour :
|
||||||
|
- Effectuer un **dump** de la base `sdis29` avec l’utilisateur `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` à l’aide des identifiants fournis.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
32
configs/docker-compose-test.yml
Normal file
32
configs/docker-compose-test.yml
Normal 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"
|
||||||
|
|
||||||
@@ -6,27 +6,20 @@ services:
|
|||||||
- "8080:8080"
|
- "8080:8080"
|
||||||
- "4848:4848"
|
- "4848:4848"
|
||||||
env_file:
|
env_file:
|
||||||
- "variables.env"
|
- "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
|
restart: unless-stopped
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: mariadb:latest
|
image: mariadb:latest
|
||||||
container_name: db
|
container_name: db
|
||||||
ports:
|
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:
|
env_file:
|
||||||
- "variables.env"
|
- "variables.env"
|
||||||
|
volumes:
|
||||||
|
- ./data/db_data:/var/lib/mysql
|
||||||
|
- ./init:/docker-entrypoint-initdb.d
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
|||||||
@@ -10,17 +10,17 @@ interface:
|
|||||||
eth0:
|
eth0:
|
||||||
exists: true
|
exists: true
|
||||||
addrs:
|
addrs:
|
||||||
- 172.16.0.101/24
|
- 172.16.0.100/24
|
||||||
- fe80::be24:11ff:fed2:d5ff/64
|
- fe80::be24:11ff:fed2:d5ff/64
|
||||||
mtu: 1500
|
mtu: 1500
|
||||||
http:
|
http:
|
||||||
http://ap31-test.sio.lan:8080/:
|
http://ap31-prod.sio.lan:8080/:
|
||||||
status: 200
|
status: 200
|
||||||
allow-insecure: false
|
allow-insecure: false
|
||||||
no-follow-redirects: false
|
no-follow-redirects: false
|
||||||
timeout: 10000
|
timeout: 10000
|
||||||
body: []
|
body: []
|
||||||
https://ap31-test.sio.lan:4848/:
|
https://ap31-prod.sio.lan:4848/:
|
||||||
status: 200
|
status: 200
|
||||||
allow-insecure: true
|
allow-insecure: true
|
||||||
no-follow-redirects: false
|
no-follow-redirects: false
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
MYSQL_DATABASE=bdclient
|
MYSQL_DATABASE=sdis29
|
||||||
MYSQL_HOST=db
|
MYSQL_HOST=db
|
||||||
MYSQL_PORT=3306
|
MYSQL_PORT=3306
|
||||||
MYSQL_USER=adminBDCli
|
MYSQL_USER=adminBDsdis
|
||||||
MYSQL_PASSWORD=u@4xKH@X
|
MYSQL_PASSWORD=u@4xKH@X
|
||||||
MYSQL_ROOT_PASSWORD=2Fc#$9Fn
|
MYSQL_ROOT_PASSWORD=2Fc#$9Fn
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user