Configuration Simple¶
Principes Généraux¶
Il existe 4 fichiers de configurations:
client.xml, détail le fonctionnement du moniteur en mode client
logback-client.xml, configuration des logs client
server.xml, détail le fonctionnement du moniteur en mode serveur
logback-server.xml, configuration des logs serveur
En plus de ces 4 fichiers 2 autres fichiers sont consommés par l’instance pour alimenter sa configuration en base de données (si applicable)
authent.xml, détails d’authentification des moniteurs authorisés
rules.xml, règles de transfert utilisable par le mooniteur
client.xml¶
Le tableau ci-dessous détail les groupes utilisés dans la configuration d’un client WaarpR66. La description de ces groupes est détaillée plus bas.
Balise |
Status |
---|---|
identity |
Obligatoire |
ssl |
Si utilisation de SSL |
directory |
Recommandé |
db |
Si utilisation d’une base de données |
extendTaskFactory |
Si nécessité d’ajouter des extensions de tâches |
server.xml¶
Le tableau ci-dessous détail les groupes utilisés dans la configuration d’un serveur WaarpR66. La description de ces groupes est détaillée plus bas.
Balise |
Description |
---|---|
identity |
Obligatoire |
ssl |
Si utilisation de SSL |
server |
Obligatoire |
network |
Recommandé |
directory |
Recommandé |
db |
Obligatoire |
extendTaskFactory |
Si nécessité d’ajouter des extensions de tâches |
pushMonitor |
Si nécessaire pour un monitoring en mode PUSH REST Json vers un serveur tiers |
Note
Pour les balises indiquées ci-dessus, les fichiers valeurs renseignées dans les fichiers server.xml et client.xml doivent être identiques. À défaut, deux instances distinctes seront configurées.
Détails¶
Identity¶
Le groupe <identity> des configurations client et serveur permet de définir l’identité du moniteur (hostids et mot de passe)
Balise |
Description |
---|---|
identity |
|
hostid |
Identifiant de l’instance utilisé pour les connections en clair |
sslhostid |
Identifiant de l’instance utilisé pour les connexions chiffrées |
cryptokey |
Chemin d’accès à la clef DES utilisée pour chiffrer les mots de passe |
Server¶
Le groupe <server> de la configuration serveur permet de préciser les informations nécéssaire au fonctionement du serveur.
Balise |
Description |
---|---|
server |
|
serveradmin |
Login pour l’accès administrateur |
serverpasswd |
Mot de passe pour l’accès administrateur chiffré par <cryptokey> |
usenossl |
Le serveur accepte les connections non SSL |
usessl |
Le serveur accepte les connections ssl |
usehttpcomp |
Utilisation de la compréssion HTTP pour l’interface d’administration |
uselocalexec |
Utilisation du LocalExec R66 au lieu du |
httpadmin |
Chemin d’accès au serveur |
admkeypath |
Chemin d’accès au keystore pour l’authentification https |
admkeystorepass |
Mot de passe d’accès au keystore |
admkeypass |
Mot de passe d’accès à la clef |
Network¶
Par defaut un serveur WaarpR66 utilise les ports suivants:
6668: Communications R66 en clair
6669: Communications R66 chiffrées
8066: Interface web de suivi (désactivée par défaut)
8067: Interface web d’administration (désactivée par défaut)
8088: Interface REST des serveurs WaarpR66 autonomes (désactivée par défaut)
Cependant ces ports sont configurables via le groupe network.
Balise |
Description |
---|---|
network |
|
serverport |
Communications R66 en clair |
serveraddresses |
Adresses utilisées pour le protocole R66 (séparées par des virgules) |
serversslport |
Communications R66 chiffrées |
serverssladdresses |
Adresses utilisées pour le protocole R66 en SSL (séparées par des virgules) |
serverhttpport |
Interface web de suivi (désactivée par défaut) |
serverhttpaddresses |
Adresses utilisées pour l’interface web de supervision (séparées par des virgules) |
serverhttpsport |
Interface web d’administration (désactivée par défaut) |
serverhttpsaddresses |
Adresses utilisées pour l’interface web HTTPS d’administration (séparées par des virgules) |
serverrestport |
Interface REST des serveurs WaarpR66 autonomes (désactivée par défaut) |
SSL¶
Afin d’utilisé des connexions chiffrées le groupe <ssl> doit etre configuré avec les catalogues de certificats authorisés et leurs mots de passe d’accès.
Balise |
Description |
---|---|
ssl |
|
keypath |
Chemin d’accès au keystore d’authentification de l’instance. |
keystorepass |
Mot de passe d’accès au keystore |
keypass |
Mot de passe d’accès à la clef |
trustkeypath |
Chemin d’accès au keystore des certificats de confiance de l’instance |
trustkeystorepass |
Mot de passe d’accès au trustkeystore |
trustuseclientauthenticate |
Si vrai, R66 n’acceptera que les clients authorisés via SSL |
Directory¶
Le groupe <directory> permet de définir les dossiers utilisés par les moniteurs WaarpR66 pour l’émission et la réception de fichiers.
Balise |
Description |
---|---|
directory |
|
serverhome |
Dossier racine de WaarpR66. Les autres dossiers paramétrables sont définis relativement à celui-ci |
in |
Dossier de dépôt des fichiers reçus |
out |
Dossier où sont cherchés les fichiers à transférer |
work |
Dossier tampon où sont stockés les fichiers en cours de réception |
arch |
Dossier d’export XML de l’historique des transferts |
conf |
Dossier d’export XML de la configuration de l’instance |
DB¶
WaarpR66 utilise une base de données pour stocker les informations nécessaires aux transferts (Moniteurs authorisés et règles de transferts). Le groupe <db> permet de configurer les accès à la base de données utilisé par le moniteur.
Balise |
Description |
---|---|
db |
|
dbdriver |
Driver JDBC à utiliser pour se connecter à la base de données (postgresql) |
dbserver |
URI JDBC de connection à la base de données (ex : jdbc:postgresql://localhost:5433/waarp) |
dbuser |
L’utilisateur à utiliser pour se connecter à la base de données |
dbpasswd |
Le mot de passe de l’utilisateur |
Note
Il est possible de faire fonctionner les moniteurs sans base de données. Les fichiers authent.xml et rules.xml seront utilisés comme source de configuration.
ExtendTaskFactory¶
Nouveau dans la version 3.6.0: Ajout du sous-ensemble extendTaskFactory
qui contient
l’option extendedtaskfactories
: pour la Factory
org.waarp.openr66.s3.taskfactory.S3TaskFactory
, si la classe est dans le
claspath, il n’est pas nécessaire de l’ajouter.
Le groupe <extendTaskFactory> permet de définir des Task Factories additionnelles pour étendre les capacités de R66.
Balise |
Description |
---|---|
extendTaskFactory |
|
extendedtaskfactories |
Liste (séparée par des virgules) des TaskFactory en tant qu’extension pour ajouter des tâches à WaarpR66 (implicite pour la Factory |
PushMonitor¶
Cette section décrit comment monitorer R66 via des appels REST HTTP(s) vers un serveur tiers (en mode PUSH).
Nouveau dans la version 3.6.0: Ajout du sous-ensemble pushMonitor
qui contient
les options communes url
, delay
,
intervalincluded
, transformlongasstring
, token
, apiKey
,
les options spécifiques``endpoint``, keepconnection
et basicAuthent
sont liées à une API REST en
destination,
les options spécifiques``index``, prefix
, username
, paswd
et
compression
sont liées à Elasticsearch en destination.
Le groupe <pushMonitor> permet de définir les parammètres pour que le serveur R66 envoie son monitoring des transferts vers un serveur tiers en mode API REST Json.
Balise |
Description |
---|---|
pushMonitor |
|
Partie commune |
|
url |
URL de base pour les exports du moniteur en mode POST HTTP(S) JSON |
delay |
Délai entre deux vérifications de changement de statuts sur les transferts |
intervalincluded |
Si « True », les informations de l’intervalle utilisé seront fournies |
transformlongasstring |
Si « True », les nombres « long » seront convertis en chaîne de caractères, sinon ils seront numériques |
token |
Spécifie si nécessaire le token dans le cadre d’une authentification via Token |
apiKey |
Spécifie si nécessaire le password dans le cadre d’une authentification via ApiKey (format |
Partie API REST |
|
endpoint |
End point à ajouter à l’URL de base |
keepconnection |
Si « True », la connexion HTTP(S) sera en Keep-Alive (pas de réouverture sauf si le serveur la ferme), sinon la connexion sera réinitialisée pour chaque appel |
basicAuthent |
Spécifie si nécessaire l’authentification basique |
Partie Elasticsearch |
|
index |
Contient le nom de l’index avec de possibles substitutions, dont |
prefix |
Spécifie si nécessaire un prefix global dans le cas d’usage d’un Proxy devant Elasticsearch |
username |
Spécifie si nécessaire le username (et son password) dans le cadre d’une authentification basique |
paswd |
Spécifie si nécessaire le password dans le cadre d’une authentification basique |
compression |
Spécifie si les flux sont compressés (par défaut True) |
logback-{client,server}.xml¶
Les fichiers logback*.xml permettent de paramétrer les écritures de log. Veuillez vous référer au manuel en ligne de Logback pour configurer la façon dont les logs sont générés et écrits dans un fichier et/ou vers syslog.
Il est à noter qu’il est conseillé d’avoir les éléments suivants dans le fichier de configuration de Logback.
<configuration>
<statusListener class="org.waarp.common.logging.PrintOnlyWarningLogbackStatusListener" />
<appender name=... class=...><!-- Voir la documentation Logback -->
</appender>
<root level="warn">
<appender-ref ref=... /><!-- Voir la documentation Logback -->
</root>
<logger name="ch.qos.logback" level="WARN"/>
<logger name="org.apache.http" level="WARN"/>
<logger name="io.netty" level="WARN"/>
<logger name="io.netty.util.internal.PlatformDependent" level="DEBUG"/>
</configuration>
authent.xml¶
Le fichier d’authent permet de renseigner les paramètres de connections des instances WaarpR66. Ce fichier est consommé par la commande loadauth ou loadconf (voir utilisation). Une fois consommé ce fichier n’est plus utilisé (vous pouvez le mettre à jour pour le recharger plus tard).
Le fichier liste un moniteurs dans une balise <entry> détaillée ci-dessous. Ces balises sont regroupées au sein d’une balise <authent>.
Balise |
Description |
---|---|
entry |
|
hostid |
L’hostid du moniteur |
address |
Addresse ou entrée DNS du moniteur |
port |
Si le moniteur est un serveur, le port de destination |
isssl |
Le moniteur utilise SSL |
admin |
Le moniteur authorise les accès Admin via R66 |
isclient |
Le moniteur n’est pas un serveur |
key |
Mot de passe du moniteur |
Au minimum le fichier doit renseigner le moniteur qui l’utilise.
rules.xml¶
Les fichiers de règles permettent de détailler les règles utilisées par le moniteur ainsi que leur contenu. Ce fichier est consommé par la commande loadauth ou loadrules (voir utilisation). Une fois consommé ce fichier n’est plus utilisé (vous pouvez le mettre à jour pour le recharger plus tard).
Le fichier décrit une règle dans une balise <rule> détaillée ci-dessous. Ces balises sont regroupées au sein d’une balise <rules>.
Balise |
Description |
---|---|
rule |
|
idrule |
Nom de la règle |
comment |
Commentaire |
hostids |
Liste des moniteurs authorisés à utiliser la règle |
mode |
Le mode de la règle |
rpretasks |
Tâches executées par le receveur avant le transfert |
rposttasks |
Tâches executées par le receveur après le transfert |
rerrortasks |
Tâches executées par le receveur en cas d’erreur du transfert |
spretasks |
Tâches executées par l’envoyeur avant le transfert |
spoststasks |
Tâches executées par l’envoyeur après le transfert |
serrortasks |
Tâches executées par l’envoyeur en cas d’erreur du transfert |
Les hostids de la balises hostids sont présentés comme suit:
<hostids>
<hostid>hostid1</hostid>
<hostid>hostid2</hostid>
</hostids>
Le mode de la règle peut etre un des suivant
1: SEND, Envoie le fichier client -> serveur
2: RECV, Demande le fichier serveur -> client
3: SEND+MD5
4: RECV+MD5
5: SENDTHROUGHMODE
6: RECVTHROUGHMODE
7: SENDMD5THROUGHMODE
8: RECVMD5THROUGHMODE
Les listes de tâches (rpretasks, rposttasks, rerrortasks, spretasks, sposttasks, serrortasks). sont présentées comme suit:
<rpretasks>
<tasks>
<task></task>
<task></task>
<task></task>
...
</tasks>
</rpretasks>
Le contenue d’une balise <task> est détaillé ci-dessous:
Balise |
Description |
---|---|
task |
|
type |
Le type de tâche |
path |
Les options de cette tâche |
delay |
Temps (ms) accordé avant l’envoie d’un Time Out |
Cryptographie¶
cryptokey¶
Cette clef DES est utilisée par les instances WaarpR66 pour chiffrer les mots de passe pour s’identifier sur les autres instances. Pour générer une nouvelle cryptokey:
$ cat /dev/urandom | head -c 8 > cryptokey.des
Pour régénérer le mot de passe {pwd} dans le fichier {output} avec la clé {key}:
./bin/waarp-password.sh -ki {key} -pwd {pwd} -po {output}
keystore¶
Le keystore contient la clef privée d’identification de l’instance WaarpR66 pour les communication SSL. Il s’agit d’un Java KeyStore de type keystore.
truststore¶
Le truststore contient les certificats des instances autorisés à communiquer via SSL avec l’instance WaarpR66. Il s’agit d’un Java KeyStore de type truststore.
adminstore¶
Le keystore contient la clef privée pour accéder à l’interface d’administration de l’instance WaarpR66 en https. Il s’agit d’un Java KeyStore de type keystore. Pour générer une nouveau keystore:
$ keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048
Pour générer un nouveau truststore depuis un keystore existant
$ keytool -export -keystore keystore.jks -alias selfsigned -file cert.crt
$ keytool -import -alias selfsigned -file cert.crt -keystore truststore.jks
restsignkey¶
La clef REST est utilisée par Waarp Manager pour communiquer avec les serveurs Waarp afin de récupérer l’historiques des transferts. Pour générer une nouvelle clef de signature REST
$ cat /dev/urandom | head -c 64 > restsignkey.key
Attention: Dans le cadre d’une utiilisation de Waarp Manager, les clefs cryptokey et restsignkey doivent être partagé par toute les instances serveur WaarpR66 du parc et connu de Waarp Manager.
Les sections suivantes présentent:
Un exemple de fichier des configurations
Le détail complet des fichiers de configuration
La section d’après détaille le lancement d’un serveur WaarpR66.