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.
The "vscan
" task performs a virus scan on the bitstreams of items using the ClamAV software product.
Clam AntiVirus is an open source (GPL) anti-virus toolkit for UNIX. A port for Windows is also available. 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.
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 clamav daemon. Refer to links above for more information about ClamAV.
The Clam anti-virus 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 anti-virus database.
DSpace Configuration
In [dspace]/config/modules/curate.cfg
, activate the task:
- Add the plugin to the list of curation tasks.
### Task Class implementations plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.NoOpCurationTask = noop plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.ProfileFormats = profileformats plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.RequiredMetadata = requiredmetadata # This is the ClamAV scanner plugin plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.ClamScan = vscan plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.MicrosoftTranslator = translate plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.MetadataValueLinkChecker = checklinks
- Optionally, add the vscan friendly name to the configuration to enable it in the administrative it in the administrative user interface.
curate.ui.tasknames = profileformats = Profile Bitstream Formats curate.ui.tasknames = requiredmetadata = Check for Required Metadata curate.ui.tasknames = checklinks = Check Links in Metadata # Enable ClamAV from UI curate.ui.tasknames = vscan = Virus Scan
- In
[dspace]/config/modules
, edit configuration file clamav.cfg:
clamav.service.host = 127.0.0.1 # Change if not running on the same host as your DSpace installation. clamav.service.port = 3310 # Change if not using standard ClamAV port clamav.socket.timeout = 120 # Change if longer timeout needed clamav.scan.failfast = false # Change only if items have large numbers of bitstreams
- Finally, if desired virus scanning can be enabled as part of the submission process upload file step. In
[dspace]/config/modules
, edit configuration filesubmission-curation.cfg
:
submission-curation.virus-scan = true
Task Operation from the Administrative user interface
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 ui.tasknames above.
- Select Perform.
Task Operation from the Item Submission user interface
If desired virus scanning can be enabled as part of the submission process upload file step. In [dspace]/config/modules
, edit configuration file submission-curation.cfg
:
submission-curation.virus-scan = true
Task Operation from the curation command line client
To output the results to the console:
[dspace]/bin/dspace curate -t vscan -i <handle of container or item dso> -r -
Or capture the results in a file:
[dspace]/bin/dspace curate -t vscan -i <handle of container or item dso> -r - > /<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 | T | Report on 1st infected bitstream |
Item | F | Report on all infected bitstreams |