Show TOC

Gateway-Sicherheitsdateien secinfo und reginfoLocate this document in the navigation structure

Verwendung

Die Sicherheitsdatei secinfo dient dazu, das unberechtigte Anstarten von externen Programmen zu verhindern.

Die Datei reginfo steuert das Registrieren von externen Programmen am Gateway.

Mit den Profilparametern gw/sec_info und gw/reg_info pflegen Sie die Dateipfade. Der Standardwert ist

gw/sec_info = $(DIR_DATA)/secinfo

gw/reg_info = $(DIR_DATA)/reginfo

Beim Start liest das Gateway beide Sicherheitsdateien neu ein. Dynamische Änderungen sind möglich, indem Sie die Einträge in der reginfo-Datei ändern, hinzufügen oder löschen. Anschließend kann die Datei durch das Nachladen der Sicherheitsdateien sofort aktiviert werden.

Achtung

Enthält eine der Dateien keinen Eintrag oder ist syntaktisch nicht korrekt, beendet sich das Gateway wieder.

Pflege der Sicherheitsdateien

Sie können die Dateien auf folgende Arten pflegen.

  • Sie verwenden den Gateway-Monitor im AS ABAP (Transaktion SMGW).

    Dieses Vorgehen wird von SAP empfohlen und ist im Abschnitt Sicherheitseinstellungen für externe Programme einrichten beschrieben.

  • Sie verwenden einen Editor und bearbeiten die Dateien auf Betriebssystemebene.

    Dabei müssen Sie sich genau an die Syntax der Dateien halten, die im Folgenden beschrieben ist.

    Bei beiden Dateien gibt es zwei verschiedene Versionen der Syntax: Die Syntax-Version 1 ermöglicht es nicht, Programmen das Anstarten bzw. Registrieren explizit zu verbieten. Aus diesem Grund können Sie alternativ mit der Syntax Version 2 arbeiten, die an die Route-Permission-Tabelle des SAProuters angelehnt ist. Wenn Sie diese Syntax verwenden wollen, muss die gesamte Datei so aufgebaut sein und in der ersten Zeile den Eintrag #VERSION=2 enthalten (mit genau dieser Schreibweise).

    Wenn Sie die Änderungen abgeschlossen haben, können Sie die Dateien nachladen, ohne das Gateway durchzustarten. Wählen Sie dazu im Gateway-Monitor (Transaktion SMGW) Anfang des Navigationspfads Springen Nächster Navigationsschritt Expertenfunktionen Nächster Navigationsschritt Externe Sicherheit Nächster Navigationsschritt Neu lesen Ende des Navigationspfads.

Struktur

secinfo

Für die secinfo-Datei gilt folgende Syntax.

Version 1

Eine Zeile der Datei hat die Form

TP=<tp>, USER=<user>, HOST=<host>, [USER-HOST=<user_host>]
            

Die Reihenfolge ist hierbei nicht zwingend. Als Trennzeichen können Sie Kommas oder Leerzeichen verwenden. Falls der TP-Name selbst Leerzeichen enthält, müssen Sie Kommas verwenden.

Durch eine entsprechende Zeile wird dem Benutzer <user> erlaubt, auf dem Rechner <host> das Programm <tp> zu starten.

Durch Angabe des optionalen Parameters USER-HOST können Sie diese Berechtigungsprüfung verschärfen.

Der Wert internal bei den Host-Optionen ( HOST und USER-HOST ) steht für alle Hosts des SAP-Systems. Das Gateway ersetzt dies intern mit der Liste aller Applikationsserver des SAP-Systems.

Achtung

Beachten Sie, dass bei den Optionen zwischen Groß- und Kleinschreibung unterschieden wird. Für die HOST-Option gilt also z. B.

  • Richtig: HOST

  • Falsch: Host , host , hOst

Beispiel
  • USER=mueller, HOST=hw1414, TP=test : Benutzer mueller darf das Programm test auf Rechner hw1414 ausführen.

  • USER=hugo, USER-HOST=hw1234, HOST=hw1414, TP=prog : Benutzer hugo darf das Programm prog auf Rechner hw1414 ausführen, falls er sich von Rechner hw1234 am Gateway angemeldet hat.

Falls der Benutzer mittels des Calls CMSCSU den Security-Benutzer gesetzt hat, wird dieser zur Überprüfung verwendet.

Bei allen Parametern kann * als generische Angabe (Wildcard) benutzt werden.

Falls USER-HOST nicht angegeben wird, wird der Wert * angenommen.

Version 2

Die erste Zeile hat die Form #VERSION=2 , jede weitere Zeile ist aufgebaut wie folgt:

P|D TP=<tp>, USER=<user>, HOST=<host>, [USER-HOST=<user_host>]
            

Hierbei hat der Zeilenanfang P oder D , gefolgt von einem Leerzeichen oder einem TAB, folgende Bedeutung:

  • P bedeutet, dass das Programm gestartet werden darf (analog zu einer Zeile der alten Notation)

  • D verhindert, dass dieses Programm angestartet wird.

Die Reihenfolge der übrigen Einträge ist beliebig.

Beispiel

Beispiel für eine secinfo-Datei in neuer Syntax

#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

Diese Datei hat folgende Bedeutung:

  • Das Programm cpict4 darf nicht angestartet werden.

  • Alle anderen Programme, die mit cpict4 beginnen, dürfen angestartet werden (von jedem Host und jedem Benutzer).

  • Das Programm hugo darf auf dem lokalen Rechner von jedem Benutzer angestartet werden.

  • Alle Programme, die von Rechnern innerhalb des SAP-Systems angestartet werden, dürfen auf allen Rechnern des Systems angestartet werden.

reginfo

Durch eine entsprechende Zeile wird bestimmten Programmen erlaubt, sich von einem anderen Rechner aus am Gateway zu registrieren. Weiterhin kann der Zugriff auf die registrierten Programme und das Beenden der registrierten Programme kontrolliert werden.

Sobald sich ein Programm beim Gateway registriert hat, werden die Attribute des gefundenen Eintrages (speziell ACCESS) an das registrierte Programm vererbt. D.h. wenn die Datei geändert wird und die neuen Einträge sofort aktiviert werden, dann haben die bereits angemeldeten Server noch die alten Attribute. Damit die registrierten Programme auch die neuen Einstellungen haben (sofern sie geändert wurden), müssen sich die Server deregistrieren und wieder registrieren.

Erfolgreiche und abgelehnte Registrierungen sowie Aufrufe von registrierten Programmen können über das Gateway-Logging mit Kennzeichen S ermittelt werden

Fehlerhafte Zeilen werden in der Trace-Datei dev_rd ausgegeben und werden nicht berücksichtigt.

Die reginfo-Datei gehorcht folgender Syntax. Es gibt 2 verschiedene Versionen der Syntax, die Sie verwenden können (nicht gemischt).

Version1

Eine Zeile der Datei hat die Form

TP=<tp> [HOST=<hostname>,...] [NO=<n>] 
[ACCESS=<hostname,...>] [CANCEL=<hostname,...>]
            

Der Wert internal bei den Host-Optionen ( HOST und USER-HOST ) steht für alle Hosts des SAP-Systems. Das Gateway ersetzt dies intern mit der Liste aller Applikationsserver des SAP-Systems.

Achtung

Beachten Sie, dass bei den Optionen zwischen Groß- und Kleinschreibung unterschieden wird. Für die HOST-Option gilt also z. B.

  • Richtig: HOST

  • Falsch: Host , host , hOst

Kommentarzeilen beginnen mit #

Hierbei können die einzelnen Optionen folgende Werte annehmen.

  • TP-Namen ( TP= ): maximal 64 Zeichen, Leerzeichen nicht erlaubt. Das Wildcard-Zeichen * steht für eine beliebige Zeichenfolge; der Eintrag * bedeutet also keine Einschränkung, fo* steht für alle Namen, die mit fo beginnen, foo steht genau für den Namen foo

  • Host-Namen ( HOST=, ACCESS= und/oder CANCEL= ): Das Wildcard-Zeichen * steht für einen beliebigen Hostnamen, *.sap.com für eine Domäne, sapprod für den Host sapprod. Fehlt die Option, ist dies gleichwertig mit HOST=* .

  • IP-Adressen ( HOST=, ACCESS= und/oder CANCEL= ): Statt Hostnamen können Sie auch IP-Adressen verwenden. Beispiele für gültige Adressen sind

    • alle Adress-Strings 1.2.3.4

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

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

    • A:B

    • Standard Adress-Präfixes 192.1.1.3/12

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

    • alte SAProuter Wildcards 192.1.1.*

    • 192.1.1.101xxxxx

  • Anzahl ( NO= ): Zahl zwischen 0 und 65535. Falls der TP-Name ohne Wildcards angegeben wurde, können Sie hier die Anzahl der zulässigen Registrierungen angeben.

    Beispiel

    TP=Foo NO=1 , d.h. es darf sich nur ein Programm mit dem Namen foo registrieren, alle weiteren Versuche, ein Programm mit diesem Namen zu registrieren, werden abgelehnt. Wenn dieser Zusatz fehlt, dürfen sich beliebig viele Server mit der gleichen ID anmelden.

ACCESS-Liste

Um auch den Zugriff von Client-Seite auf die registrierten Programme zu kontrollieren, kann pro Eintrag eine Access-Liste definiert werden. Dabei handelt es sich um eine Liste von Rechnernamen, die den obigen Regeln genügen muss. Falls keine Access-Liste angegeben ist, dann kann das Programm von beliebigen Clients aus benutzt werden. Das lokale Gateway, an dem das Programm registriert ist, hat dabei immer Zugriff.

Wichtig hierbei ist, dass es sich um eine Prüfung auf Basis von Rechnern und nicht auf Benutzer-Ebene handelt.

Beispiel

TP=foo ACCESS=*.sap.com

Das Programm foo darf nur von Rechnern aus der Domäne *.sap.com benutzt werden. Zugriffe aus einer anderen Domäne werden abgelehnt. Der Zugriff des lokalen Applikationsserver ist natürlich erlaubt.

Um die Benutzung von registrierten Servern nur vom lokalen Applikationsserver zu erlauben, muss die Datei folgenden Eintrag enthalten.

TP=* ACCESS=local [CANCEL=local]

CANCEL-Liste

Um das Beenden von registrierten Programme zu kontrollieren, kann pro Eintrag eine Cancel-Liste definiert werden (analog zur ACCESS-Liste). Falls keine Cancel-Liste angegeben ist, dann kann jeder beliebige Client das Programm beenden. Das lokale Gateway, an dem das Programm registriert ist, hat kann das Programm immer beenden

Im Gateway Monitor (Transaktion SMGW) wählen Sie dazu Anfang des Navigationspfads Springen Nächster Navigationsschritt Angemeldete Clients Ende des Navigationspfads, markieren das registrierte Programm mit dem Cursor und wählen Anfang des Navigationspfads Springen Nächster Navigationsschritt Angemeldete Clients Nächster Navigationsschritt Client löschen Ende des Navigationspfads.

Hinweis

Die RFC-Bibliothek stellt Funktionen zur Verfügung, mittels derer man ein registriertes Programm beenden kann. Sollte dieser Client nicht den Kriterien in der CANCEL-Liste entsprechen, dann ist er nicht in der Lage, ein solches registriertes Programm zu beenden. Es wird kein Fehler zurückgeliefert, sondern die Anzahl der abgebrochenen Programme ist 0.

Beispiele für gültige Einträge

Eintrag

Bedeutung

TP=* HOST=*

Alle Registrierungen erlaubt

TP=foo* HOST=*

Erlaubt sind Registrierungen, die mit foo beginnen, aber nicht f oder fo

TP=foo*

Erlaubt sind alle Registrierungen, die mit foo beginnen, aber nicht f oder fo (fehlender HOST wird als * gewertet)

TP=* HOST=*.sap.com

Aus der Domäne *.sap.com sind alle Registrierungen erlaubt

TP=* ACCESS=*.sap.com

Nur Clients aus der Domäne *.sap.com dürfen mit diesem registrierten Programm kommunizieren (sowie der lokale Applikationsserver).

TP=* ACCESS=local

Nur Clients des lokalen Applikationsservers dürfen mit diesem registrierten Programm kommunizieren

Version 2

Die erste Zeile hat die Form #VERSION=2 , jede weitere Zeile ist aufgebaut wie folgt:

P|D TP=<tp> [HOST=<hostname>,...] [NO=<n>] 
[ACCESS=<hostname,...>] [CANCEL=<hostname,...>]
            

Hierbei hat der Zeilenanfang P oder D , gefolgt von einem Leerzeichen oder einem TAB, folgende Bedeutung:

  • P bedeutet, dass das Programm sich registrieren darf (analog zu einer Zeile der alten Notation)

  • D verhindert, dass sich dieses Programm am Gateway registriert.

Beispiel

#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

Diese Datei hat folgende Bedeutung:

  • Das Programm cpict4 darf sich registrieren, wenn es vom Host mit der Adresse 10.18.210.140 kommt.

  • Alle anderen Programme vom Host 10.18.210.140 dürfen sich nicht registrieren.

  • Das Programm cpict2 darf sich registrieren, jedoch nur auf dem lokalen Rechner oder dem Rechner ld8060 ausgeführt und beendet werden.

  • Das Programm cpict4 darf sich von jedem Host aus registrieren.

  • Programme innerhalb des Systems dürfen sich registrieren.