RHUM
RHUM
Réseau d'échange des données avec l'UM Il s'agit de mettre en place des ressources (serveurs, scripts, réseau) afin d'échanger avec l'UM des données RH (de type CSV) provenant de1 fichier nos SI RH respectif.
Les données échangée sont critique, il a été chois d'appliquer 3 niveaux de chiffrement :
- 1 Les données transitent par un tunnel chiffré (IPSec)
- 2 Les données transitent dans un canal chiffré (SFTP)
- 3 Le fichier de données est lui même chiffré via GPG
Schéma de principe
Réseau :
1 Vdom dédié sur FW-Campus -> EXCH (Exchange)
- Réseau Extra : 194.57.116.201/255.255.255.252, vlan 229
- Réseau du serveur de récupération auprès de la DSI : 10.22.0.0/24 vlan 1250
- Réseau d’échange avec l'UM : 10.22.1.0/24 vlan 1251
Le tunnel IPSEC est monté entre notre firewall et leur machine d’échange directement.
Machine d'export vers l'UM : 10.22.1.10. La machine UM qui viens récupérer les fichiers est 10.22.2.180 (au travers du tunnel IPSec)
Logiciel
Le code est développé par la DR6, il est dispo sur la forge de la DSI CNRS :
https://src.koda.dsi.cnrs.fr/dr/dr06/partenaires
SENS CNRS -> UM
Script lancé par la crontab de Import-Partenaires. La machine est déclarée auprès de la DSI pour pouvoir accéder au Webservice (en réalité, adresse de NAT de ce réseau). Le script est dispo dans /root/partenaires/partenaires.sh :
#!/bin/bash cd /root/partenaires/ #Traitement de l'UM : #Generation du fichier chiffré : php /root/partenaires/partenaires.php um #Copie du fichier chiffré sur le dépot Dock-Partenaires-UM : scp /root/partenaires/tutelles/um/um.json-* exch@10.22.1.10:/home/exch/temp #suppression du fichier rm -f /root/partenaires/tutelles/um/um.json-*
Sur le Dock-Partenaires-UM un second script envoie les fichiers sur la machine de l'UM. Il se trouve sur /root/push-to-UM.sh :
#!/bin/bash
unset -v latest
dir="/home/exch/temp"
if [ -z "$(ls -A $dir | grep um.json)" ]; then
echo "Pas de fichier à transferer"
else
echo "Le fichier de données existe"
for file in "$dir"/*; do
$file -nt $latest && latest=$file
done
echo Dernier fichier : $file
echo "Copie vers les serveurs de l'UM"
sftp svc-dock-um@10.22.2.180 << SFTP
cd /data/dock
put $file
bye
SFTP
echo Purge des anciens fichiers
rm -f $dir/um.json*
fi
Sens UM -> CNRS
Les fichiers sont générés par l'UM
Fichiers déposés dans /home/dock-um/ via scp sur Dock-Partenaires-UM
Actuellement, aucun traitement ce ce fichier il faut faire un script de transfert vers Import-Partenaires puis un script de suppression avant de faire un script d'envoi vers la DSI
Chiffrement
Les secrets de connexion aux webservices RESEDA sont chiffrés, voir doc sur le GIT
l faut les chiffrer sur une machine windows avec le logiciel Katia
Les fichiers échangés sont chiffrés avec GPG. Voici quelques commandes utiles :
Tous les ans, il faut regénérer une nouvelle clé puis l’échanger avec l'UM. C'est vrai dans les 2 sens :
Importer la clé générée par l'UM :
gpg --import ../pkey_UM.pub
Exporter la clé publique CNRS :
gpg --output pkey_CNRS.pub --armor --export B95532C921C07CE7AAB9AAE9BD60BA20AEECE6A0
Déchiffrer le fichier UM :
gpg --decrypt DATARH-UM-CNRS.pdf.gpg (voir la passphrase dans le gestionnaire de mot de passes)
Lister les clés :
gpg --list-k
/root/.gnupg/pubring.kbx
------------------------
pub rsa4096 2023-05-11 [SC]
A1EE625028168BC49EB9AA624C1784CFF1FDEFF2
uid [ ultime ] DR13 - SSI (Clé de chiffrement pour les fichiers de conf) <dr13.ssi@cnrs.fr>
sub rsa4096 2023-05-11 [E]
pub rsa4096 2023-09-11 [SC] [expire : 2024-09-10]
B95532C921C07CE7AAB9AAE9BD60BA20AEECE6A0
uid [ ultime ] CNRS-DR13 (Clé d'échanges UM -> CNRS) <dr13.ssi@cnrs.fr>
sub rsa4096 2023-09-11 [E] [expire : 2024-09-10]
pub rsa4096 2023-09-28 [SCEA] [expire : 2024-09-27]
17CA360F1FD6C4DBCA990D17A5D92158A68550B9
uid [ inconnue] UM <transfert@UM>
sub rsa4096 2023-09-28 [SEA] [expire : 2024-09-27]
Générer une clé :
gpg --full-generate-key
Supprimer une clé :
gpg --delete-keys B429787F4574903F6EFAF55A7252CF800DEAB316

