Anfang des Inhaltsbereichs

Hintergrunddokumentation SAP-Viren-Scan-Schnittstelle  Dokument im Navigationsbaum lokalisieren

Beschreibung

Eine Virenprüfung sollte bei jedem Import möglicherweise verschmutzter Daten über Eingabekanäle in das SAP-System erfolgen. Mögliche Eingabekanäle sind:

      das Hochladen von Datei von einem Frontend-Rechner oder Dateisystem auf den Anwendungsserver

      das Hochladen von Dateien über das Internet

      Dokumentenaustausch über RFC, XML, XI

Was bekomme ich von der SAP-NetWeaver-Plattform?

Durch die Architektur der Viren-Scan-Schnittstelle (VSI) können Sie zur Virenprüfung Ihrer Anwendungen unterschiedliche Produkte, Systeme und Plattformen kombinieren. Auf SAP-Seite werden unterschiedliche VSILIB-Schichten verwendet, um die ABAP- und die Java-Welten sowie Plattformabhängigkeiten bei der Integration der Viren-Scan-Schnittstelle abzufangen. Weitere Informationen über die VSI in AS ABAP finden Sie in der VSI-Dokumentation unter ABAP-spezifische Konfiguration.

Elemente der Viren-Scan-Schnittstelle

Diese Grafik wird im zugehörigen Text erklärt

Folgende Grafik verdeutlicht den Schichtenaufbau der SAP-Viren-Scan-Schnittstelle (SAP-VSI-API) und zeigt, welche Teile von SAP und welche von den jeweiligen Partnern geliefert werden.

Softwareschichten der Viren-Scan-Schnittstelle

Diese Grafik wird im zugehörigen Text erklärt

Die SAP-Viren-Scan-Schnittstelle (SAP VSI API):

      auf diese wird direkt über Partnerprodukte mit der Scan-Engine oder indirekt über separate Viren-Scan-Adapter zugegriffen.

      enthält die für die Konfiguration und Initialisierung der Scan-Engine erforderlichen Funktionen.

      stellt die Parameter und Daten für jeden Viren-Scan bereit.

      verarbeitet das Prüfungsergebnis.

ABAP- oder Java-Anwendungsprogramme starten Virenprüfungen mit dedizierten Klassen und Methoden der SAP-Viren-Scan-Schnittstelle, die wiederum über RFC einen Virus Scan Server oder direkt den AS Java aufrufen.

Was muss ich tun?

Damit Sie den Virus Scan Server von SAP verwenden können, müssen Sie im Einführungsleitfaden Daten pflegen.

...

       1.      Scanner-Gruppen

Scanner-Gruppen bündeln eine oder mehrere Virus Scan Server oder Business-Add-In-Implementierungen (BADI VSCAN_INSTANCE) von Scan-Engines. Auf dieser Ebene können Sie eine Menge von Konfigurationsparametern pflegen, die Initialisierungsparameter von Virus Scan Servern enthalten. Beachten Sie, dass Customizing-Einstellungen mandantenübergreifend sind, da die steuernden Entitäten (Virus Scan Server oder BAdIs) mandantenübergreifend sind. Weitere Informationen finden Sie unter Scanner-Gruppen definieren.

       2.      Virus Scan Server

Der Virus Scan Server ist ein RFC-Server, der die Verbindung zur Scan-Engine über den zertifizierten Virus-Scan-Adapter aufrechterhält. Er wird entweder als Teil des Anwendungsservers als separat gestartete Programmdatei oder als Standalone-Programm ausgeführt und kommuniziert mit den Anwendungsservern über RFC. Ein Virus-Scan-Server-Eintrag muss immer einer einzelnen Scanner-Gruppe angehören. Das Detailbild des Virus-Scan-Server-Pflege zeigt eine Zusammenfassung des Scan-Engine-Typs und die unterstützten Funktionen an. Der Server kann über das Customizing manuell gestartet, gestoppt und erneut initialisiert werden. Weitere Informationen zum Einstellen des Customizings finden Sie unter Virus Scan Server definieren.

Sie können die Viren-Scan-Schnittstelle in Ihre eigenen Entwicklungen über die Methoden der Klasse CL_CSI integrieren. Weitere Informationen finden Sie unter Viren-Scan-Schnittstelle in Eigenentwicklungen integrieren. Beachten Sie bei Fragen zur Viren-Scan-Schnittstelle auch die folgenden SAP-Hinweise: SAP-Hinweis 817623, SAP-Hinweis 786179.

       3.      Viren-Scan-Profile

Sie können für jede Anwendung im Customizing ein separates Viren-Scan-Profil anlegen, indem Sie Scanner-Gruppen zu Virus Scan Servern oder kundendefinierten Business Add-Ins zuordnen.

Profile müssen sich in dem separaten von SAP gelieferten Namensraum befinden.

/<Name of package>/<Freely assignable name>

Mögliche Profile:

       als Standardprofil ausgewählt

       aktiviert oder deaktiviert

       zu Referenzprofilen zugewiesen

Weitere Informationen finden Sie unter Viren-Scan-Profile definieren.

Ist Customizing für die aktive Viren-Scan-Schnittstelle eingerichtet, können Sie die VSI in Ihre Anwendung über die Klasse CL_VSI integrieren. Zum Durchführen einer Virenprüfung für eine Bytefolgenprüfung in einem ABAP-Programm müssen Sie die folgenden Schritte ausführen:

...

       1.      Verwenden Sie die statische Methode GET_INSTANCE, um eine Instanz der Viren-Scan-Schnittstelle zu generieren, die auf dem angegebenen Viren-Scan-Profil basiert. Jede VSI implementierende Anwendung sollte ihre eigenen Viren-Scan-Profile verwenden. Dadurch können die Viren-Scan-Funktionen für jede Anwendung aktiviert bzw. deaktiviert werden.

Beispiel

Beispiel

* Retrieve scanner instance for my application
  DATA:

    
lo_scanner TYPE REF TO cl_vsi.


  
CALL METHOD cl_vsi=>get_instance
    EXPORTING
     if_profile           = '/MYPACKAGE/MYFUNCTION'
    IMPORTING
      eo_instance         = lo_scanner
    EXCEPTIONS
      profile_not_active  = 1
      OTHERS              = 2.

  CASE sy-subrc.

    
WHEN 0.
      "OK
    WHEN 1.
*     The system administrator has disabled virus scanning for
*     my application '/MYPACKAGE/MYFUNCTION'.

*     What must happen now depends on whether virus scanning
*     is optional or mandatory for your application.

*     In the first case, you can ignore it, in the second 
*     case
*     you must react with an error. This exception has a 
*     SY-Message that leads the user to the right place in 
*     customizing.


    
WHEN OTHERS.

*     This situation is always an error (misconfiguration)
*     of the Virus Scan Interface. It must be reported.

*     Use the SY-Message that always accompanies the
*     exception.


  
ENDCASE.

       2.      Nun können Sie die Virenprüfung der in XSTRING-Objekten vorhandenen Daten durchführen.

Beispiel

Beispiel

* Retrieve scanner instance

  CALL METHOD lo_scanner->scan_bytes
    EXPORTING
      if_data             = lf_data
     if_do_clean         = ‘ABAP_TRUE’
    IMPORTING
      ef_scanrc           = lf_scanrc
    EXCEPTIONS
      OTHERS              = 1.

Das Ergebnis dieser Prüfung ist eine der folgenden drei Situationen:

       Der Rückgabecode LF_SCANRC hat den Wert CL_VSI=>CON_SCANRC_OK. Dieser gibt an, dass die Scanaufgabe erfolgreich ausgeführt wurde und keine Infektion gefunden wurde.

       Der Rückgabecode LF_SCANRC hat einen anderen Wert. Die auffälligsten Fehlercodes sind CON_SCANRC_…-Attribute in Klasse CL_VSI. Sie können die Methode CL_VSI=>GET_SCANRC_TEXT verwenden, um eine kurze Erklärung des Fehlercodes abzurufen. In der Regel sollte diese Situation als fehlgeschlagener Scan behandelt werden.

       Eine Ausnahme wird ausgelöst: Dies weist auf einen Konfigurationsfehler oder ein schwerwiegendes Problem während der Virenprüfung hin. Dies muss immer gemeldet werden und die Virenprüfung muss als fehlgeschlagen betrachtet werden.

Wenn der Parameter IF_DO_CLEAN den Wert ABAP_TRUE hat, soll eine Bereinigung durchgeführt werden. Wurde die Bereinigung erfolgreich durchgeführt, gibt der Parameter EF_DATA _SCANRC = CON_SCANRC_CLEAN_OK zurück.

Wenn der Parameter IF_DO_CLEAN den Wert ABAP_FALSE besitzt, soll er nur überprüft werden.

Neben der obigen Methode SCAN_BYTES stehen in der Klasse CL_VSI zwei weitere Methoden zur Virenprüfung zur Verfügung:

       Methode SCAN_FILE   zum Scannen einer lokalen Datei auf den Anwendungsserver.

       Methode SCAN_ITAB  zum Scannen einer internen Tabelle mit Zeilentyp X oder C.

Weitere Informationen zu DDIC-Objekten, Tabellen, Sichten, Suchhilfen, Nachrichten, Funktionsbausteinen, Klassenbibliotheksreports und Transaktionen der Viren-Scan-Schnittstelle finden Sie in der Online-Dokumentation in der ABAP Workbench.

Weitere Informationen zum Integrieren der Viren-Scan-Schnittstelle in Kundenentwicklungen finden Sie unter Viren-Scan-Schnittstelle in Eigenentwicklungen integrieren.

Sie finden einen kommentierten Quellcode für eine VSI-Anwendung zum Scannen von aus einer Workstation hochgeladenen Dateien unter Kommentiertes Beispielprogramm. Der im System enthaltene Report RSVSCANTEST führt diese Aufgabe in angemessener Form aus und kann als Demonstrationsobjekt ebenfalls herangezogen werden.

Beachten Sie folgende Probleme

Implementiert ein Eingabekanal die Viren-Scan-Schnittstelle nicht selbst, implementiert eine Folgeanwendung möglicherweise ihre eigene VSI.

Jedoch sollten Sie das mehrfache Scannen eines Dokuments auf seinem Weg ins System vermeiden, wenn die Daten ausliefernde Komponente bereits eine Virenprüfung durchgeführt hat.

Durch VSI ausgelöstes Security-Audit Log

Die Klasse CL_VSI legt für ermittelte Infektionen und Scanfehler im Security-Audit-Log automatisch Einträge zusammen mit den folgenden Informationen an:

      Informationen zum Profil

      der Profilschritt, der die Ermittlung von Scanner-Gruppen zulässt

      die Art des gefundenen Virus (wenn verfügbar mit interner Virus-ID der Scan-Engine)

      der Benutzername und Zeitstempel

Die protokollierten Meldungen befinden sich in der Nachrichtenklasse VSCAN mit den Systemprotokollmeldungen BU8 und BU9 (in SE92 angelegt). Die Schwergrade sind jeweils auf „Hoch“ und „Mittel“ gesetzt. Für die Audit-Klasse ist er auf „Verschiedenes“ gesetzt,

Weitere Informationen

      SAP-Tutorials:

       Konfiguration der RFC-Destination

       Konfiguration des Virus Scan Servers

       Viren-Scan-Trace

Diese Tutorials finden Sie auf dem SAP Service Marketplace unter service.sap.com/rkt. Lesen Sie dazu im Index: Im Abschnitt Find Learning Maps und wählen Sie Security for NetWeaver 04. Die Tutorials stehen sowohl für Technologieberater und Entwicklungsberater zur Verfügung.

      SAP-Hinweis 786179: Datensicherheitsprodukte Anwendung im Antivirenbereich

      SAP-Hinweis 817623: Virenprüfung in SAP-Anwendungen integrieren

      Spezifikation zu SAP NetWeaver Viren-Scan-Schnittstelle (NW-VSI)

Link auf externe Webseite

www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/icc/NW-VSI%20Interface%20Documentation.pdf

Dieses Dokument ist ebenfalls im SAP Developer Network unter www.sdn.sap.com/irj/sdn/services unter SAP Integration and Certification Center (ICC)    Integration Scenarios (alphabetical)    NW-VSI verfügbar.

 

 

 

 

Ende des Inhaltsbereichs