SAP-Viren-Scan-Schnittstelle
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
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
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
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.
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
* Retrieve scanner instance for my application |
2. Nun können Sie die Virenprüfung der in XSTRING-Objekten vorhandenen Daten durchführen.

Beispiel
* Retrieve scanner instance |
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.
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)

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.