SAP – Fichiers de sécurité de la passerelle secinfo et reginfo

Fichiers de sécurité du Gateway secinfo et reginfo

Utilisation

Le fichier de sécurité secinfo est utilisé pour empêcher le lancement non autorisé de programmes externes. Le fichier reginfo contrôle l’enregistrement des programmes externes dans le gateway.

Vous pouvez définir le chemin du fichier à l’aide des paramètres de profil gw/sec_info et gw/reg_info. La valeur par défaut est : gw/sec_info = $(DIR_DATA)/secinfo gw/reg_info = $(DIR_DATA)/reginfo

Lorsque le gateway est démarré, il relit les deux fichiers de sécurité. Vous pouvez effectuer des modifications dynamiques en changeant, ajoutant ou supprimant des entrées dans le fichier reginfo. Ensuite, le fichier peut être immédiatement activé en rechargeant les fichiers de sécurité.

Attention Si l’un des fichiers ne contient aucune entrée ou si sa syntaxe est incorrecte, le gateway s’arrête.

Maintenance des fichiers de sécurité

Vous pouvez éditer les fichiers de la manière suivante :

Utilisez le moniteur du gateway dans AS ABAP (transaction SMGW). Cette procédure est recommandée par SAP et est décrite dans Configuration des paramètres de sécurité pour les programmes externes.

Utilisez un éditeur et modifiez les fichiers au niveau du système d’exploitation. Vous devez respecter précisément la syntaxe des fichiers, qui est décrite ci-dessous. Il existe deux versions différentes de la syntaxe pour les deux fichiers : la syntaxe version 1 ne permet pas d’interdire explicitement le démarrage ou l’enregistrement de programmes. Pour cette raison, vous pouvez alternativement travailler avec la syntaxe version 2, qui est conforme à la table des permissions de routage du SAProuter. Si vous souhaitez utiliser cette syntaxe, l’ensemble du fichier doit être structuré en conséquence et la première ligne doit contenir l’entrée #VERSION=2 (écrite précisément sous ce format).

Une fois la modification terminée, vous pouvez recharger les fichiers sans avoir à redémarrer le gateway. Pour ce faire, dans le moniteur du gateway (transaction SMGW), choisissez Saut > Fonctions expertes > Sécurité externe > Relire.

Structure

secinfo

La syntaxe suivante est valide pour le fichier secinfo.

Version 1 Une ligne du fichier a le format suivant : TP=<tp>, USER=<user>, HOST=<host>, [USER-HOST=<user_host>]

Cet ordre n’est pas obligatoire. Comme séparateurs, vous pouvez utiliser des virgules ou des espaces. Si le nom TP lui-même contient des espaces, vous devez utiliser des virgules à la place. Utilisez une ligne de ce format pour autoriser l’utilisateur <user> à démarrer le programme <tp> sur l’hôte <host>. Vous pouvez renforcer ce contrôle d’autorisation en définissant le paramètre optionnel USER-HOST. La valeur internal pour les options d’hôte (HOST et USER-HOST) s’applique à tous les hôtes du système SAP. Le gateway la remplace en interne par la liste de tous les serveurs d’application du système SAP.

Attention Les deux options sont sensibles à la casse. Par exemple, pour l’option HOST, les points suivants s’appliquent : Correct : HOST Incorrect : Host, host, hOst

Exemple USER=mueller, HOST=hw1414, TP=test : L’utilisateur mueller peut exécuter le programme de test sur l’hôte hw1414. USER=hugo, USER-HOST=hw1234, HOST=hw1414, TP=prog : L’utilisateur hugo est autorisé à exécuter le programme prog sur l’hôte hw1414, à condition qu’il se soit connecté au gateway depuis l’hôte hw1234.

Si l’utilisateur a utilisé l’appel CMSCSU pour définir l’utilisateur de sécurité, celui-ci est également utilisé pour la vérification. Le caractère ***** peut être utilisé comme spécification générique (wildcard) pour n’importe lequel des paramètres. Si USER-HOST n’est pas spécifié, la valeur ***** est acceptée.

Version 2 Le format de la première ligne est #VERSION=2, toutes les lignes suivantes sont structurées comme suit : P|D TP=<tp>, USER=<user>, HOST=<host>, [USER-HOST=<user_host>]

Ici, la ligne commençant par P ou D, suivie d’un espace ou d’une tabulation, a la signification suivante : P signifie que le programme est autorisé à être démarré (identique à une ligne avec l’ancienne syntaxe). D empêche le démarrage de ce programme. L’ordre des entrées restantes n’a aucune importance.

Exemple d’un fichier secinfo en nouvelle syntaxe #VERSION=2 D HOST=* USER=* TP=/bin/sap/cpict4 P HOST=* USER=* TP=/bin/sap/cpict* P TP=hugo HOST=local USER=* P TP=* USER=* USER-HOST=internal HOST=internal

Ce fichier signifie :

  1. Le programme cpict4 n’est pas autorisé à être démarré.

  2. Tous les autres programmes commençant par cpict sont autorisés à être démarrés (sur chaque hôte et par chaque utilisateur).

  3. Le programme hugo est autorisé à être démarré sur chaque hôte local et par chaque utilisateur.

  4. Tous les programmes démarrés par des hôtes au sein du système SAP peuvent être démarrés sur tous les hôtes du système.

reginfo

Certains programmes peuvent être autorisés à s’enregistrer sur le gateway à partir d’un hôte externe en spécifiant les informations pertinentes. Vous pouvez également contrôler l’accès aux programmes enregistrés et annuler les programmes enregistrés.

Dès qu’un programme s’est enregistré dans le gateway, les attributs de l’entrée récupérée (spécifiquement ACCESS) sont transmis au programme enregistré. Cela signifie que si le fichier est modifié et les nouvelles entrées immédiatement activées, les serveurs déjà connectés auront toujours les anciens attributs. Pour affecter les nouveaux paramètres aux programmes enregistrés également (s’ils ont été modifiés), les serveurs doivent d’abord être désenregistrés puis enregistrés à nouveau.

Les enregistrements réussis et rejetés, ainsi que les appels de programmes enregistrés, peuvent être vérifiés à l’aide de la journalisation du Gateway (Gateway Logging) avec l’indicateur S. Toutes les lignes d’erreur sont placées dans le fichier trace dev_rd et ne sont pas lues.

Le fichier reginfo a la syntaxe suivante. Il existe deux versions de syntaxe différentes que vous pouvez utiliser (pas simultanément).

Version 1 Une ligne du fichier a le format suivant : TP=<tp> [HOST=<hostname>,…] [NO=<n>] [ACCESS=<hostname,…>] [CANCEL=<hostname,…>]

La valeur internal pour les options d’hôte (HOST et USER-HOST) s’applique à tous les hôtes du système SAP. Le gateway la remplace en interne par la liste de tous les serveurs d’application du système SAP.

Attention Les deux options sont sensibles à la casse. Par exemple, pour l’option HOST, les points suivants s’appliquent : Correct : HOST Incorrect : Host, host, hOst

Les lignes de commentaires commencent par #. Les options individuelles peuvent avoir les valeurs suivantes : Nom TP (TP=) : Maximum 64 caractères, espaces non autorisés. Le caractère générique ***** représente n’importe quel nombre de caractères ; l’entrée ***** signifie donc aucune limitation, fo* représente tous les noms commençant par fo ; foo représente précisément le nom foo. Nom d’hôte (HOST=, ACCESS= et/ou CANCEL=) : Le caractère générique ***** représente n’importe quel nom d’hôte, .sap.com pour un domaine, sapprod pour l’hôte sapprod. Si l’option est manquante, cela équivaut à HOST=. Adresses IP (HOST=, ACCESS= et/ou CANCEL=) : Vous pouvez utiliser des adresses IP au lieu des noms d’hôtes. Voici des exemples d’adresses valides :

  • Toutes les chaînes d’adresses 1.2.3.4

  • A:B:C:D:E:F:1:2

  • A:B:C:D:E:F:1.2.3.4

  • A:B

  • Préfixes d’adresse standard 192.1.1.3/12

  • A:B:C:D:E:1:2/60

  • Anciens wildcards SAProuter 192.1.1.*

  • 1.1.101xxxxx Nombre (NO=) : Nombre entre 0 et 65535. Si le nom TP a été spécifié sans caractères génériques, vous pouvez spécifier ici le nombre d’enregistrements autorisés.

Exemple TP=Foo NO=1, c’est-à-dire qu’un seul programme portant le nom foo est autorisé à s’enregistrer, toutes les autres tentatives d’enregistrement d’un programme portant ce nom sont rejetées. Si cet ajout est manquant, n’importe quel nombre de serveurs avec le même ID est autorisé à se connecter.

Liste ACCESS Pour contrôler également l’accès côté client, vous pouvez définir une liste d’accès pour chaque entrée. Il s’agit d’une liste de noms d’hôtes qui doivent se conformer aux règles ci-dessus. Si aucune liste d’accès n’est spécifiée, le programme peut être utilisé à partir de n’importe quel client. Le gateway local où le programme est enregistré a toujours accès. Ce qui est important ici, c’est que la vérification est effectuée sur la base des hôtes et non au niveau de l’utilisateur.

Exemple TP=foo ACCESS=.sap.com Le programme foo n’est autorisé à être utilisé que par des hôtes du domaine .sap.com. Les tentatives d’accès provenant d’un domaine différent seront rejetées. Bien entendu, le serveur d’application local est autorisé à y accéder. Pour permettre aux serveurs enregistrés d’être utilisés uniquement par les serveurs d’application locaux, le fichier doit contenir l’entrée suivante. TP= ACCESS=local [CANCEL=local]

Liste CANCEL Pour contrôler l’annulation des programmes enregistrés, une liste d’annulation peut être définie pour chaque entrée (identique à la liste ACCESS). Si aucune liste d’annulation n’est spécifiée, n’importe quel client peut annuler le programme. Le gateway local où le programme est enregistré peut toujours annuler le programme. Dans le moniteur du gateway (transaction SMGW), choisissez Saut > Clients connectés, utilisez le curseur pour sélectionner le programme enregistré, puis choisissez Saut > Clients connectés > Supprimer client.

Note La bibliothèque RFC fournit des fonctions pour fermer les programmes enregistrés. Si ce client ne correspond pas aux critères de la liste CANCEL, il n’est alors pas en mesure d’annuler un programme enregistré. Aucune erreur n’est renvoyée, mais le nombre de programmes annulés est de zéro.

Exemples d’entrées valides | Entrée | Signification | | :— | :— | | TP=* HOST=* | Tous les enregistrements autorisés | | TP=foo* HOST=* | Les enregistrements commençant par foo et non f ou fo sont autorisés | | TP=foo* | Tous les enregistrements commençant par foo mais pas f ou fo sont autorisés (HOST manquant est évalué comme ****) | | TP= HOST=.sap.com | Tous les enregistrements du domaine .sap.com sont autorisés | | TP= ACCESS=.sap.com | Seuls les clients du domaine .sap.com sont autorisés à communiquer avec ce programme enregistré (ainsi que le serveur d’application local). | | TP= ACCESS=local | Seuls les clients du serveur d’application local sont autorisés à communiquer avec ce programme enregistré. |

Version 2 Le format de la première ligne est #VERSION=2, toutes les lignes suivantes sont structurées comme suit : P|D TP=<tp> [HOST=<hostname>,…] [NO=<n>] [ACCESS=<hostname,…>] [CANCEL=<hostname,…>]

Ici, la ligne commençant par P ou D, suivie d’un espace ou d’une tabulation, a la signification suivante : P signifie que le programme est autorisé à être enregistré (identique à une ligne avec l’ancienne syntaxe). D empêche l’enregistrement de ce programme sur le gateway.

Exemple #VERSION=2 P TP=cpict4 HOST=10.18.210.140 D TP=* HOST=10.18.210.140 P TP=cpict2 ACCESS=ld8060,localhost CANCEL=ld8060,localhost P TP=cpict4 P TP=* USER=* HOST=internal

Ce fichier signifie :

  1. Le programme cpict4 est autorisé à être enregistré s’il provient de l’hôte avec l’adresse 10.18.210.140.

  2. Tous les autres programmes de l’hôte 10.18.210.140 ne sont pas autorisés à s’enregistrer.

  3. Le programme cpict2 est autorisé à être enregistré, mais ne peut être exécuté et arrêté que sur l’hôte local ou l’hôte ld8060.

  4. Le programme cpict4 est autorisé à être enregistré par n’importe quel hôte.

  5. Les programmes au sein du système sont autorisés à s’enregistrer.

Plus d’informations

  • Configuration des paramètres de sécurité pour les programmes externes

  • Vérification de la configuration de sécurité