Contribute to the DSpace Development Fund

The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.

1. Virus Scan Bitstreams in DSpace

Clam AntiVirus is an open source (GPL) anti-virus toolkit for UNIX. The virus scanning curation task interacts with the ClamAV virus scanning service to scan the bitstreams contained in items, reporting on infection(s). Like other curation tasks, it can be run against a container or item, in the GUI or from the command line.
It should be installed according to the documentation at http://www.clamav.net. It should not be installed in the dspace installation directory. You may install it on the same machine as your dspace installation, or on another machine which has been configured properly.

2. Setup the service from the ClamAV documentation.

This plugin requires a ClamAV daemon installed and configured for TCP sockets. Instructions for installing ClamAV (http://www.clamav.net/doc/latest/clamdoc.pdf )
NOTICE: The following directions assume there is a properly installed and configured clam daemon. Refer to step 2 above for more information about ClamAV.
The Clam antivirus database must be updated regularly to maintain the most current level of anti-virus protection. Please refer to the ClamAV documentation for instructions about maintaining the antivirus database.

3. Configure dspace for the virus scan task.

3.1 In the modules subdirectory of <dspace install>/config/modules, configure curate.cfg

3.1.1 Add the plugin to the comma separated list of curation tasks.

### Task Class implementations
\\
plugin.named.org.dspace.curate.CurationTask = \
org.dspace.curate.ProfileFormats = profileformats, \
org.dspace.curate.RequiredMetadata = requiredmetadata, \
org.dspace.curate.ClamScan = vscan


3.1.2 Optionally, add the vscan friendly name to the configuration to enable it in the administrative it in the administrative user interface.

ui.tasknames = \
profileformats = Profile Bitstream Formats, \
requiredmetadata = Check for Required Metadata, \
vscan = Scan for Viruses


3.2 In the modules subdirectory of <dspace install>/config/modules, configure clamav.cfg

service.host = <ipaddress of service host>
#The ip address where host where the clam daemon runs, and which is configured in the clamd configuration file.
\\
service.port = <port of service host>
#The port where the host where the clam daemon runs.
\\
socket.timeout = <socket timeout in millis>
#The timeout value to use when the socket is connecting.
\\
failfast = <true|false>
#When scanning from the user interface, a value of true indicates that the scan process will stop at the first infected
#bitstream found. Otherwise, all of the bitstreams for the target
#item will be scanned. Only the infected bitstream(s) will be reported on.


4. Run a virus scan task from the GUI

Curation tasks can be run against container and item dspace objects by e-persons with administrative privileges. A curation tab will appear in the administrative ui after logging into dspace.
Click on the curation tab.
Select the option configured in step 3.1.2 above.
Select Perform.

5. Run a virus scan task from the curation command line client


5.1 Output the results to the console.
<dspace install>/bin/dspace curate -t vscan -i <handle of container or item dso> -r - -v

5.2 Capture these results in a file.
<dspace install>/bin/dspace curate -t vscan -i <handle of container or item dso> -r - -v > /<path...>/<name>

Table 1 – Virus Scan Results Table

GUI (Interactive Mode)

FailFast

Expectation

Container

T

Stop on 1st Infected Bitstream

Container

F

Stop on 1st Infected Item

Item

T

Stop on 1st Infected Bitstream

Item

F

Scan all bitstreams

 

 

 

Command Line

 

 

Container

T

Report on 1st infected bitstream within an item/Scan all contained Items

Container

F

Report on all infected bitstreams/Scan all contained Items

Item

 

Report on 1st infected bitstream

Item

 

Report on all infected bitstreams

  • No labels