This page last changed on May 26, 2010 by admin.

CONNECTOR AMB ANTIVIRUS





Introducció

Propòsit

El propòsit del connector és proporcionar una interfície per poder utilitzar el servei d'Antivirus Central del CTTI.

Context i Escenaris d'Ús

El connector d'Antivirus es troba dins els connectors de serveis funcionals.

Versions i Dependències

En el present apartat es mostren quines són les versions i dependències necessàries per fer ús del Connector.

Les dependències descrites a la següent url són requerides per tal de fer funcionar el servei:
Dependències del Connector Antivirus

A qui va dirigit

Aquest document va dirigit als següents perfils:

  1. Programador. Per conéixer l'ús del connector.
  2. Arquitecte. Per conéixer quins són els components i la configuració del connector.

Documents i Fonts de Referència

[1] Guia d'ús de l'API del Connector Antivirus.
[2] Documentació funcional i tècnica del Connector Antivirus.

Descripció Detallada

Arquitectura i Components

Interfícies i Components Genèrics

Es pot trobar tota la documentació JavaDoc i el codi font referent aquests components a les següents url's:

JavaDoc: http://canigo.ctti.gencat.net/confluence/canigodocs/site/canigo1_4_2/openframe-connectors-antivirus/apidocs/index.html
Codi Font:  http://canigo.ctti.gencat.net/confluence/canigodocs/site/canigo1_4_2/openframe-connectors-antivirus/xref/index.html

Requeriments

El connector Antivirus és compatible amb les versions 1.5 o superior de Java. Per versions inferiors no es garantitza el seu correcte funcionament. Si fos necessària la utilització d'una versió inferior a 1.5  s'hauria de posar-se en contacte amb el
Centre de Suport de Canigó, oficina-tecnica.canigo.ctti@gencat.net

Per tal de que el connector Antivirus funcioni correctament sobre l'aplicació que l'utilitzi, és necessari que tingui definides les següents Keys en l'arxiu applicationResources.properties

antivirus.message1=S'han trobat
antivirus.message2=amenaces

Instal.lació i Configuració

Instal.lació

La instal.lació del connector requereix de la utilització de la llibreria 'openframe-connectors-antivirus' i les dependències indicades a l'apartat 'Introducció-Versions i Dependències'.

Per poder disposar del Connector Antivirus en una aplicació Canigó s'ha de modificar el pom.xml de l'aplicació per incloure la llibreria del Connector com una dependència.

<dependency>
        <groupId>openFrame.connectors</groupId>
        <artifactId>openFrame-connectors-antivirus</artifactId>
	<version>1.4.2</version>
</dependency>

Configuració

Per poder configurar el connector Antivirus es necessari incloure el següent bean  en l'arxiu de configuració openFrame-services.xml <import resource="openFrame-connectors-antivirus.xml"/>
Posteriorment es crearà aquest arxiu en

Classpath: src/main/resources/spring/openFrame-connectors-antivirus.xml

En aquest arxiu s'haurà de declarar el bean següent:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- Altres beans que hi pugui haber -->
    <bean id="antivirusConnector"  class="net.gencat.openframe.connectors.antivirus.impl.AntivirusConnectorImpl">
        <property name="remote" value="true" />
    	<property name="serverIP" value="10.30.26.74" />
        <property name="serverPort" value="1344" />
        <property name="numDayDBCaduc" value="15" />
   </bean>
</beans>

Les dades representades en aquest bean son:
Remote: Indica si l'arxiu es troba en remot o en local.
ServerIP: Direcció IP del servidor Engine Scan del CTTI, responsable dels escaneigs.
ServerPort: Port pel qual es comunica l'aplicació amb el servidor Antivirus Central.
numDayDBCaduc: Numero de dies a partir del qual es considera que la definició de la base de dades de l'antivirus es obsoleta. Si es retornés que la base de dades de la definició de virus es troba obsoleta el connector retornarà un estat de Warning (veure detall).
Amb aquests pasos el connector romandrà configurat.

Utilització del Connector

El connector Antivirus disposa de dos modes de funcionament principals diferents en funció de on es trobi el document a escanejar.

  • El mode remot.
  • El mode local.

Mode Local

Amb aquest mètode d'escaneig es pretén escanejar un arxiu que es trobi en la màquina local de l'usuari que esta utilitzant una aplicació Canigó que disposa d'aquest Connector.

En la configuració del connector aquest mode ve representat per la propietat:

<property name="remote" value="false" />

L'arxiu seleccionat es pujarà de forma automàtica al servidor d'aplicacions mitjançant el servei de upload de openFrame i posteriorment s'enviarà al Servidor Antivirus Central.Aquest últim retornarà la resposta que serà interpretada pel connector i facilitada a l'aplicació.

Mode Remot

Aquest mode està pensat per poder escanejar arxius que ja es trobin pujats en el servidor Antivirus Central. Això implica que el path que es pasarà com a paràmetre a la API és el path de l'arxiu a escanejar dintre del Servidor Antivirus Central.

En la configuració del connector aquest mode ve representat per la propietat:

<property name="remote" value="true" />

Aquest mode de funcionament té com a premissa que l'arxiu a escanejar ja es trobi pujat al servidor Central Antivirus. Els procediments per poder pujar un arxiu a aquest servidor no són de l'abast d'aquest document.

Exemple d'utilització

A continuació es mostra la descripció de l'ús pràctic del Connector Antivirus.

1.- Reproduïr els passos del punt Instal.lació i Configuració.

2.- Creació de la JSP amb un TAG <fwk:file> per poder pujar l'arxiu:

<fwk:file styleId="Arxiu" property="arxiu"></fwk:file>

3.- Definir el TAG file en canigo-services-web.xml.

<bean id="fileFieldTag"	class="net.opentrends.openframe.services.web.struts.taglib.forms.fields.FileFieldTag">
      <property name="layout" value="false"/>
      <property name="i18nService" ref="i18nService"/>
      <property name="validationService" ref="webValidationService"/>
</bean>

4. Definir el Bean associat al TAG file en el seu arxiu de configuració pertinent (action-servlet-xxx.xml).

<bean parent="fileFieldTag">
      <property name="styleId" value="Arxiu"></property>
      <property name="layout" value="false"></property>
      <property name="mode" value = "E,E,E"></property>
</bean>

5.Definir el servei al l'arxiu de configuració del servlet (action-servlet-xxxx.xml).

<property name="fileUpload" ref="fileUploadService" />

6. Al utilitzar el TAG <fwk:file> s'està utilitzant de forma implícita el servei de upload de fitxers del Framework. Per tant farà falta configurar-lo.
6.1.Modificar el pom.xml de l'aplicació per incloure les dependències les llibreries dels serveis

<dependency>
         <groupId>openFrame</groupId>
         <artifactId>openFrame-services-fileupload</artifactId>
         <version>1.4.2</version>
</dependency>
<dependency>
         <groupId>openFrame</groupId>
         <artifactId>openFrame-services-file</artifactId>
         <version>1.4.2</version>
</dependency>

6.2. Modificar el openFrame-services.xml per incloure els serveis nous.

<import resource="canigo-services-fileupload.xml"/>
<import resource="canigo-services-file.xml"/>

6.3.Afegim els arxius de configuració dels serveis nous.

Classpath:/src/main/resources/file
	fileService.properties
	fileService.properties.desenvolupament
	fileUploadService.properties
	fileUploadService.properties.desenvolupament
Contingut exemple de fileService.properties
	fileService.tempDir=d:
Contingut exemple de fileUploadService.properties
	fileUploadService.maxAttachmentSize=2048
        uploadResolver.maxUploadSize=1000000
        uploadResolver.maxInMemorySize=10000000
        uploadResolver.defaultEncoding=ISO-8859-1

Per més informació sobre el servei de upload de Openframe veure la informació de referència en el portal.

7. Finalment modificar la classe java de l'action per incloure el següent codi:

private AntivirusConnector antivirus;
private FileUploadService fileUpload;
...
String[] UPLOADED_FILES = new String[] { "arxiu" };
UploadedFiles uploadedFiles = this.fileUpload.
getUploadedFiles(request, UPLOADED_FILES);
UploadedFile fitxerCarregat = uploadedFiles.getFile("arxiu");

ResultatEscaneig res = antivirus.scan(fitxerCarregat.getBytes());

8. Per poder recuperar la información d'escaneig que el connector retorna s'haura de consultar de l'objecte de retorn ResultatEscaneig. En aquest cas:

res.getEstat() <- Retorna l'estat general del procés d'escaneig (OK = 0, KO = -1, WARNING = 1).
res.getMissatge() <- Missatge que acompanya l'estat de finalització de l'escaneig.
res.getArrayVirus() <- Array d'objectes tipus InfectionInfo amb la informació de les amenaces trobades si fos el cas.

Integració amb Altres Serveis

Integració amb el Servei de Internacionalització

En els fitxers de configuració es defineixen claus que permeten especificar quins missatges retornar en cas errors. Per a poder traduir aquestes claus és necessari especificar que el connector usarà el Servei d'Internacionalització (veure Configuració).

Document generated by Confluence on Apr 14, 2015 11:50