Files
Procedure-Systel/Production SI/Configuration serveur/Serveur RPINT & RPEXT.md
T

163 lines
5.2 KiB
Markdown

# Configuration des serveurs RPINT et RPEXT
## 1. Prérequis
- Suivre la procédure **Exporter et importer une VM depuis la plateforme de Production** pour importer la VM `RPINTx` ou `RPEXTx` dans l'environnement client.
- Suivre la procédure **Préparation d'un serveur Linux**.
- Disposer du DCSR et de l'accès à l'ancien serveur de production pour comparer les configurations.
## 2. Vérifier les flux réseau
Sur le pare-feu, vérifier les flux suivants et demander leur ouverture au service réseau s'ils sont absents :
| Source | Destination | Protocole | Ports |
| --- | --- | --- | --- |
| `RPINTx/RPEXTx` | `AD1/AD2` | TCP et UDP | `53` / `123` |
| `RPINTx/RPEXTx` | `SNMP` | UDP | `161` / `162` |
| `TELEMW1/2` | `RPINTx/RPEXTx` | TCP | `22` / `9000` |
Ouvrir également les flux requis par les backends et les accès HAProxy, conformément au DCSR.
## 3. Configurer Keepalived
### Rôle
Keepalived gère l'adresse IP virtuelle utilisée pour assurer la redondance des services HAProxy.
### Configuration
1. Se connecter en SSH au serveur avec le compte `systel`, puis passer en `root`.
2. Identifier l'interface réseau :
```bash
ip a
```
3. Ouvrir le fichier de configuration :
```bash
nano /etc/keepalived/keepalived.conf
```
4. Mettre à jour le nom de l'interface et l'adresse IP virtuelle conformément au DCSR. Configurer `virtual_router_id` et `priority` selon le tableau :
| Serveur | `virtual_router_id` | `priority` |
| --- | ---: | ---: |
| `RPINT1` | `101` | `101` |
| `RPINT2` | `101` | `100` |
| `RPEXT1` | `102` | `101` |
| `RPEXT2` | `102` | `100` |
5. Enregistrer le fichier, puis redémarrer Keepalived :
```bash
service keepalived restart
```
6. Vérifier avec `ip a` que l'adresse IP virtuelle apparaît sur le serveur maître.
## 4. Installer le certificat wildcard
HAProxy utilise un certificat wildcard pour les connexions sécurisées (HTTPS, MQTT over WebSocket, etc.).
1. Depuis l'infrastructure de production actuelle, récupérer le fichier `.pem` par SFTP. Il se trouve dans :
```text
/etc/ssl/private/sdisXX.fr/
```
2. Transférer le fichier dans `/tmp` sur la nouvelle VM.
3. Déplacer le fichier vers le répertoire prévu :
```bash
mv /tmp/sdisXX.pem /etc/ssl/private/sdisXX.fr/sdisXX.pem
```
4. La procédure source indique la commande suivante pour modifier les permissions :
```bash
chmod 755 /etc/ssl/private/sdisXX.fr/sdisXX.pem
```
> **Sécurité :** un fichier PEM peut contenir une clé privée. Vérifier la permission requise par la politique locale et limiter sa lecture aux comptes et services nécessaires avant d'appliquer `chmod 755`.
## 5. Configurer HAProxy
### 5.1 Préparer le fichier de configuration
Le modèle contient deux fichiers dans `/etc/haproxy/` :
- `haproxy_EXT.cfg` pour RPEXT;
- `haproxy_INT.cfg` pour RPINT.
Selon le rôle de la VM, renommer le fichier correspondant en `haproxy.cfg`. L'autre fichier peut être supprimé avec la commande suivante en adaptant le nom :
```bash
rm /etc/haproxy/haproxy_XXX.cfg
```
Modifier le fichier avec `nano` ou le transférer par SFTP pour l'éditer avec Notepad++.
### 5.2 Adapter la configuration au client
Dans `haproxy.cfg` :
1. Remplacer `sdisXX` par le numéro de département du client.
2. Remplacer `.xx.` par le deuxième octet IP du client. Vérifier la valeur dans le DCSR.
3. Comparer la configuration à celle de l'ancien serveur et reporter les paramètres propres au client nécessaires.
4. Ajouter les résolutions DNS non génériques si elles sont utilisées. Vérifier qu'elles sont également déclarées sur le serveur DNS.
5. Ajouter les ACL et backends spécifiques au client si nécessaire.
6. Commenter les backends inutilisés d'après le DCSR (par exemple, ceux associés à GeoServer lorsque le client n'en dispose pas).
7. Remplacer les identifiants par défaut de l'interface Web HAProxy par un mot de passe aléatoire de 20 caractères. Enregistrer le secret dans RDM; ne pas conserver `systel:systel`.
## 6. Vérifier le fonctionnement de HAProxy
### 6.1 Valider le fichier de configuration
Avant de redémarrer le service, vérifier la configuration :
```bash
haproxy -c -f /etc/haproxy/haproxy.cfg
```
Si le contrôle est valide, ou ne signale que des avertissements sans impact, redémarrer HAProxy pour appliquer la configuration :
```bash
service haproxy restart
```
### 6.2 Consulter l'interface de supervision
Dans un navigateur, ouvrir :
```text
http://IP_SERVEUR_RP:9000/
```
Utiliser le compte `systel` et récupérer le mot de passe dans RDM.
Un backend affiché en rouge signale une anomalie. Selon le statut :
- **L4OUT** : vérifier les règles de pare-feu, l'état du service cible et l'adresse IP/le port de destination.
- **L7OUT** : vérifier le fonctionnement de l'application cible.
## 7. Répliquer la configuration
Depuis un serveur HAProxy secondaire, exécuter la commande suivante pour récupérer le certificat et la configuration du serveur principal :
```bash
haproxyupdate RPXXX1
```
Remplacer `RPXXX1` par le nom du serveur principal concerné.
## 8. Sécuriser les comptes système
Modifier les mots de passe des comptes `systel` et `root` :
```bash
passwd systel
passwd root
```
Générer des mots de passe de 20 caractères comprenant des minuscules, des majuscules et des chiffres, puis les enregistrer dans RDM.