Module Anti-virus

Daniel WELTZ · le 16/04/15 à 10:25

Bonjour,

Dans le cadre d'un projet, mon client souhaite utiliser le module Anti-virus avec ClamAV.

Mais aucune explication n'est donnée sur l'installation de cet anti-virus ( ClamAV ).

J'ai donc une questions sur cette installation :

 - doit il etre deployé sur les poste clients ou sur le poste serveur ?

Cordialement,

 

Daniel

9 pts
Xavier Masia · le 17/04/15 à 11:27

I faut installer l'antivirus ClamAV sur le poste serveur. 

Le module antivirus est un module permettant de valider des fichiers uploadés par les contributeurs sur le serveur Jalios.

La validation consiste à exécuter en ligne de commande un antivirus pré installé sur le serveur où est exécuté l'instance Jalios.

Ce module est livré avec le driver permettant d'utiliser ClamAV comme antivirus.

0 pt
Pierre MORIN · le 12/06/15 à 16:47

Bonjour,

 

Y a t-il une version de ClamAV que vous conseillez pour un serveur sous Windows ?

Comment vérifier que l'antivirus fonctionne bien ? Je ne vois pas bien ce que vous entendez par "La validation consiste à exécuter en ligne de commande un antivirus pré installé sur le serveur où est exécuté l'instance Jalios".

Merci.

Cordialement,

0 pt
Xavier Masia · le 12/06/15 à 17:41

Le mieux quand vous êtes sur Windows, c'est d'utiliser l'antivirus Windows déjà installé sur le serveur de l'hébergeur. Par contre, il faudra coder le driver adéquate. La documentation du module explique cette notion de driver. 

Si vous souhaitez installer côté serveur l'antivirus du type ClamAV, la déclinaison Windows est disponible sur ce site : http://www.clamwin.com/

A propos de cette phrase "La validation consiste à exécuter en ligne de commande un antivirus pré installé sur le serveur où est exécuté l'instance Jalios", je parlais de la "validation des fichiers uploadés par les contributeurs". 

Sur votre question "Comment vérifier que l'antivirus fonctionne bien ?", il faudrait tout d'abord récupérer un fichier déjà positionné dans le répertoire de l'antivirus existant du type "mise en quarantaine" (lieu où les fichiers suspicieux sont stockés) puis vérifié qu'après le déploiement du module et son paramétrage, le contributeur Jalios tombe bien sur un message d'avertissement après l'upload de son fichier.  

#1

Bonjour,

Merci pour cette réponse.

J'ai installé clamwin sur notre serveur. Y a t-il une configuration particulière a effectuer ? Il n'y a aucun moyen de vérifier que le driver de JCMS communique bien avec l'antivirus, autre qu'en faisant un test avec un fichier infecté ?

Merci.

Cordialement

Pierre MORIN · le 15/06/15 à 15:06
#2

A ma connaissance, le module n'a pas cette fonction de test effectivement. Poster une idée dans cette idée de conversations afin que notre R&D puisse étudier ce point dans sa roadmap. Mais à priori, couper le service ClamAV est déjà un bon début pour voir les logs d'échec de soumission du fichier à l'antivirus.

Xavier Masia · le 18/06/15 à 12:39
0 pt
Olivier BERVAS · le 18/06/15 à 11:36

Bonjour,

 

Clamwin est bien installé sur le serveur. JCMS essaye bien de la contacter mais n'y arrive pas.

Pourriez vous m'indiquer s'il ya des propriétés à surcharger ?

 

2015-06-18 11:13:09,710 INFO [http-apr-8080-exec-9][upload.UploadManager] - Init the UploadManager
2015-06-18 11:13:37,470 ERROR [http-apr-8080-exec-14] [clamavj.ClamScan] - could not connect to clamd server
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at com.philvarner.clamavj.ClamScan.scan(ClamScan.java:168)
at com.jalios.jcmsplugin.antivirus.ClamavDriver.checkFile(ClamavDriver.java:76)
at com.jalios.jcmsplugin.antivirus.AntivirusManager.checkFile(AntivirusManager.java:153)
at com.jalios.jcmsplugin.antivirus.AntivirusFileCheckerPolicyFilter.checkAfterUpload(AntivirusFileCheckerPolicyFilter.java:65)
at com.jalios.jcms.policy.PolicyManager.checkAfterUpload(PolicyManager.java:1320)
at com.jalios.jcms.upload.DocUploadInfo.checkPermission(DocUploadInfo.java:265)

#1

L'erreur semble claire. Le service ClamAV semble ne pas être actif. Le service ClamAV est il opérationnel sur le serveur ? Dans la configuration du module ClamAV de Jalios, il est possible de modifier le port d'écoute par défaut du service (jcmsplugin.antivirus.parameters.ClamavDriver.port:3310).

Pouvez vous faire l'équivalent d'un telnet ou d'un netstat pour voir s'il y a bien le process ClamAV qui écoute sur ce port ?

Privilégiez la création d'un ticket support dans votre espace support technique client s'il vous faut un support plus spécifique à votre projet.

Xavier Masia · le 18/06/15 à 12:37
#2

J'ai fait quelques recherches pour ClamAV sur Windows. Sur mon poste Windows 7 il fonctionne pour les tests. Par contre, pour pouvoir appeler ClamAV en appel "système", il faut installer ClamAV et ClamWin.

Pour l'installer, j'ai suivi la documentation ClamAV suivante :

Download ClamAV for windows x64 from sourceforge,
WARN : do not download "ClamWin" or "Immunet" or "ClamAVSetup" or "w32_clamav"

http://sourceforge.net/projects/clamav/ -> download Setup-x64.msi (http://sourceforge.net/projects/clamav/files/clamav/win32/0.97.6/x64/ )

  • download msi (additionnal exe file is available)
  • install msi
  • copy exemple conf file /conf_examples/freshclam.conf to /freshclam.conf and edit it (if no exemple file is provided, you can generate it with clamconf.exe)
  • define locations to database and logs
  • copy exemple conf file /conf_examples/clamd.conf to /clamd.conf and edit it
  • comment the "exemple" line
  • uncomment the "TCPSocket" and "TCPAddr" lines
  • you may also specify database path and log file
  • run cmd as admin to execute freshclam.exe (this will download virus signatures database)
  • execute again freshclam.exe to update the database to latest diff.
  • create a task to call freshclam.exe regularly (updates virus signatures database)
  • run cmd as admin to execute clamd.exe
  • if this version of clamd supports it you can create automatically a windows service by executing once "clamd.exe --install" otherwise you should create the service yourself.
  • verify that clamd service launch automatically and restarts on error.

You may find additional help by searching on the web, for exemple : http://www.andornot.com/blog/post/How-to-set-up-ClamAV-as-a-Windows-Service-to-scan-file-streams-on-demand.aspx

Xavier Masia · le 18/06/15 à 13:26
0 pt