Hi,
We use the SAVDI to scan all files being uploaded and in case the EICAR file signature exists in the file (not at the beginning of the file) the file passes the scan.
Attached is the conf file for the SAVDI settings.
# No of worker threads to start up threadcount: 5 # Where to find the virus data if it is held somewhere other than normal # These options can be specified under the SAVI configuration but that # is not advised. #virusdatadir: C:\Program Files\Sophos\Sophos Anti-Virus #virusdataname: vdl #idedir: C:\Program Files\Sophos\Sophos Anti-Virus # What to do when the daemon must exit # Options are:- # DONTWAIT (just exit now!) # REQUEST (wait for current requests to complete) # SESSION (wait for current sessions to complete) # Case 1) An exception has occurred and operation could be compromised onexception: REQUEST # Case 2) A request has been made for it to exit # If there are long running sessions then REQUEST should be considered onrequest: SESSION log { # Specify the logging mechanism {CONSOLE|FILE|SYSLOG} type: FILE # Where to write the log files (if FILE is selected) logdir: C:\ProgramData\Sophos\SAV Dynamic Interface\Logs\ # Specify the level of logging required # 0 = errors+threats # 1 = (0) + process events # 2 = (1) + session events loglevel: 0 } # A number of channels are included here as samples, new channels may # be added, others removed. There needs to be at least one of course. # Unwanted channels should be removed. # # Define a channel for ICAP over IP channel { # Send to the log requests received from clients # For debugging. Default: NO # logrequests: YES commprotocol { type: IP # IP Address to listen on, default is 0.0.0.0 (any) # address: 127.0.0.1 port: 1344 # Subnet of acceptable client IP addresses. # Default is to accept from any client. # subnet: 127.0.0.1/24 # idle timeout in secs when waiting for a request # 0 is forever. Default: 0 # requesttimeout: 120 # timeout in secs between characters when sending data sendtimeout: 2 # idle timeout in secs between characters when receiving data recvtimeout: 10 } service { # The name of the service, arbitrary as long as the client # uses the same name. name: avscan # The type of service, for now can only be avscan type: avscan scanprotocol { # The type of protocol in use. Can only be ICAP. type: ICAP # Version of the configuration for this service. # Update when changes are made that may alter the # result returned to the client. Default: XXX version: 1.01 # Objects sent for scanning can be retained if they are # infected or cause the service a problem. Allowed values # are NONE, MALWARE, PROBLEM, ALL. ALL meaning both # MALWARE and PROBLEM. Default: NONE # retain: NONE # A list of file extensions for files which the client # should not send to this server. The list is sent as-is # to the client. See ICAP Transfer-Ignore header. A # Transfer-Complete: * header is automatically added. # Default is none. # dontsend: .jpg, .gif, .bmp, .tiff # 204 is the ICAP code indicating that the object # sent for processing is unmodified and OK and will # not be returned to the client. Default: NO # allow204: NO # Don't automatically close the connection after a # transaction. Default: NO keepalive: YES # Maximum permitted size, in bytes, of the body in a request. # Zero is no limit. Default: 0 # maxbodysize: 0 # Maximum amount of memory, in bytes, to use for an object, before # putting it into a temporary file. Default: 1000000 #maxmemorysize: 1024 # Maximum size of the chunks, in bytes, for returned data, 0 is # no maximum. Default: 0 # maxchunksize: 0 # Where to place and name temporary files # Default: <standard temp directory>/SAVDI_ # On *nix systems: /var/tmp/SAVDI_ tmpfilestub: C:\ProgramData\Sophos\SAV Dynamic Interface\Temp\icap_ # The block-* options determine what to do with files # that result in some sort of error. # Any of these files may be infected. # NB Files identified as malware are always blocked. # Treat zip-bombs as malignant. Zip-bombs are compressed # files that have many files which are vary highly # compressed. They are intended to either deny use of # a scanner by keeping it occupied for excessive periods # or use excessive resources, such as disc space on the # end-point. Default: YES # block-bombs: YES # Block encrypted files. Encrypted files cannot be scanned # and may harbour malware. Default: NO # block-encrypted: NO # Block corrupt files. Some files are simply corrupt, others # may not conform to the standard, or one of its known # variants, but may still be usable. Default: NO # block-corrupt: NO # Block timeouts. It took too long to scan the file and # the scan was terminated early. (See the maxscantime # option in the scanner section.) Default: YES # block-timeouts: YES # The AV engine returned some other error. Scanning of the # file possibly did not complete. Default: YES # block-errors: YES # The AV engine caused an exception. Exceptions can be # considered as errors that were not caught in time. # Scanning of the file did not complete. Default: YES # block-exceptions: YES # At least one client (c-icap) seems to always expect a # body, even an empty one. Default: NO # forceemptybody: YES } scanner { # See the SAVDI documentation for details for configuring # SAVI type: SAVI inprocess: YES # Turn on auto-stop, ie zip-bomb detection savists: enableautostop 1 # Turn on most of the other options savigrp: grpsuper 1 # Limit the time taken to scan a file to this number of seconds # Zero is forever. Default: 0 # maxscantime: 0 } } } # # Define a channel using a named pipe for SSSP # channel { commprotocol { type: Pipe # Both forms are acceptable # name: \\.\pipe\avscan # A server must specify \\.\ name: avscan # timeout in secs when sending data sendtimeout: 2 # idle timeout in secs when receiving data recvtimeout: 60 } scanprotocol { type: SSSP # Do we allow the client to use SCANFILE? allowscanfile: SUBDIR # Do we allow the client to use SCANDATA? allowscandata: YES # If SCANDATA is allowed:- # maximum amount of data, in bytes, the client can send maxscandata: 2000000 # maximum amount, in bytes, to held in memory before using a temp file maxmemorysize: 250000 # path name and stub for generating temp file names. tmpfilestub: C:\ProgramData\Sophos\SAV Dynamic Interface\Temp\savid_tmp # Log each request made by a client? # logrequests: YES } scanner { # type and inprocess can only be SAVI and YES for now type: SAVI inprocess: YES # Max time to be allowd for scanning a single file maxscantime: 3 # Max time in seconds to be allowed to complete a request maxrequesttime: 10 #Some SAVI/Engine options savigrp: GrpArchiveUnpack 0 savigrp: GrpInternet 1 savists: Xml 1 } } # # Define an IP channel for SSSP # channel { commprotocol { type: IP # IP Address to listen on, default is 0.0.0.0 (any) # Note the combination of the wildcard address and a # non-special port no is not secure address: 0.0.0.0 port: 4010 # Subnet of acceptable client IP addresses # subnet: 172.18.32.26/30 # timeout in secs when sending data sendtimeout: 2 # idle timeout in secs when receiving data recvtimeout: 60 } scanprotocol { type: SSSP # Do we allow the client to use SCANFILE? allowscanfile: NO # Do we allow the client to use SCANDATA? allowscandata: YES # If SCANDATA is allowed:- # maximum amount of data, in bytes, the client can send maxscandata: 500000000 # maximum amount, in bytes, to held in memory before using a temp file maxmemorysize: 250000 # path name and stub for generating temp file names. tmpfilestub: C:\ProgramData\Sophos\SAV Dynamic Interface\Temp\savid_tmp # Log each request made by a client? # logrequests: YES } scanner { # type and inprocess can only be SAVI and YES for now type: SAVI inprocess: YES # Max time to be allowd for scanning a single file maxscantime: 3 # Max time in seconds to be allowed to complete a request maxrequesttime: 10 #Some SAVI/Engine options savigrp: GrpArchiveUnpack 0 savigrp: GrpInternet 1 savists: Xml 1 } } # Define a IP channel for localhost channel { commprotocol { type: IP # Note the combination of the wildcard address and a # non-special port no is not secure address: 127.0.0.1 port: 4010 # subnet: 127.0.0.1/24 sendtimeout: 2 recvtimeout: 2 } scanprotocol { type: SSSP # Normally should be NO for an IP connection allowscanfile: SUBDIR allowscandata: YES # If SCANDATA is allowed:- # maximum amount of data, in bytes, the client can send maxscandata: 500000000 # maximum amount, in bytes, to held in memory before using a temp file maxmemorysize: 250000 # path name and stub for generating temp file names. tmpfilestub: C:\ProgramData\Sophos\SAV Dynamic Interface\Temp\savid_tmp # logrequests: YES } scanner { type: SAVI inprocess: YES # Max time to be allowed for scanning a single file maxscantime: 3 # Max time in seconds to be allowed to complete a request maxrequesttime: 10 savigrp: GrpArchiveUnpack 0 savigrp: GrpInternet 1 } } # Define a IP channel for localhost for Sophie channel { commprotocol { type: IP # Note the combination of the wildcard address and a # non-special port no is not secure address: 127.0.0.1 port: 4009 # subnet: 127.0.0.1/24 sendtimeout: 2 recvtimeout: 2 } scanprotocol { type: SOPHIE allowscandir: DIR # logrequests: YES } scanner { type: SAVI inprocess: YES # Max time to be allowed for scanning a single file maxscantime: 3 # Max time in seconds to be allowed to complete a request maxrequesttime: 10 savigrp: GrpArchiveUnpack 0 savigrp: GrpInternet 1 } }
Thanks
This thread was automatically locked due to age.