Symantec™ Protection Engine For Cloud Services 8.1 Software Developer's Guide
Symantec™ Protection Engine For Cloud Services 8.1 Software Developer's Guide
Symantec™ Protection Engine For Cloud Services 8.1 Software Developer's Guide
Symantec, the Symantec Logo, the Checkmark Logo and are trademarks or registered trademarks of
Symantec Corporation or its affiliates in the U.S. and other countries. Other names may be trademarks
of their respective owners.
This Symantec product may contain third party software for which Symantec is required to provide attribution
to the third party (“Third Party Programs”). Some of the Third Party Programs are available under open
source or free software licenses. The License Agreement accompanying the Software does not alter any
rights or obligations you may have under those open source or free software licenses. Please see the
Third Party Legal Notice Appendix to this Documentation or TPIP ReadMe File accompanying this Symantec
product for more information on the Third Party Programs.
The product described in this document is distributed under licenses restricting its use, copying, distribution,
and decompilation/reverse engineering. No part of this document may be reproduced in any form by any
means without prior written authorization of Symantec Corporation and its licensors, if any.
THE DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS,
REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE
DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY
INVALID. SYMANTEC CORPORATION SHALL NOT BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
DAMAGES IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS
DOCUMENTATION. THE INFORMATION CONTAINED IN THIS DOCUMENTATION IS SUBJECT TO
CHANGE WITHOUT NOTICE.
The Licensed Software and Documentation are deemed to be commercial computer software as defined
in FAR 12.212 and subject to restricted rights as defined in FAR Section 52.227-19 "Commercial Computer
Software - Restricted Rights" and DFARS 227.7202, et seq. "Commercial Computer Software and
Commercial Computer Software Documentation," as applicable, and any successor regulations, whether
delivered by Symantec as on premises or hosted services. Any use, modification, reproduction release,
performance, display or disclosure of the Licensed Software and Documentation by the U.S. Government
shall be solely in accordance with the terms of this Agreement.
Symantec Corporation
350 Ellis Street
Mountain View, CA 94043
https://www.symantec.com
Symantec Support
All support services will be delivered in accordance with your support agreement and the
then-current Enterprise Technical Support policy.
Index .................................................................................................................... 78
Chapter 1
Getting started
This chapter includes the following topics:
■ About licensing
■ Where to start
Feature Description
Support for non-archive files Symantec Protection Engine 8.1 supports the scanning of the
larger than 2 GB non-archive files that are larger than 2 GB. The support is limited to
2 GB in previous releases.
Latest Symantec technologies Symantec Protection Engine 8.1 is integrated with latest internal
Symantec scanning technologies.
Enhanced LiveUpdate Internal critical fixes are now delivered through LiveUpdate.
Improved in-memory file system Symantec Protection Engine uses the system memory to stream and
scan the files. Now, the memory size is no more limited to 4 GB.
You can create a custom integration using any of the following methods:
Construct an ICAP If you plan to integrate antivirus scanning only, you can use the antivirus C API.
client connector using URL filtering is not available using the antivirus API.
application program
The antivirus API includes static and dynamic libraries for each supported
interface (API) C library.
platform. The API library consists of functions that provide scanning and repair
services to client applications. The C API supports the FILEMOD and RESPMOD
scanning modes, and it contains the built-in ability to stream files.
Construct an ICAP If your environment has Java, you can use the Java API plug-in
client connector using (SymJavaAPI.jar) to integrate with Symantec Protection Engine. The Java API
Java API library. provides client antivirus scanning and repair services using the ICAP protocol.
The Java API supports the FILEMOD and RESPMOD scanning modes, and it
contains the built-in ability to stream files.
Construct an ICAP If your environment has .NET Framework, you can use the .NET API plug-in
client connector using (symcsmsnetapi.dll) to integrate with Symantec Protection Engine. The .NET
.NET API library. API provides client antivirus scanning and repair services using the ICAP
protocol. The .NET API supports the FILEMOD and RESPMOD scanning
modes, and it contains the built-in ability to stream files.
Construct your own If you construct your own ICAP client, you can specify whether to perform
ICAP 1.0 client for the antivirus scanning and URL filtering for outgoing and incoming requests.
Symantec Protection
For more information, see Symantec™ Protection Engine Software Developer's
Engine.
Guide.
About ICAP
ICAP is a lightweight protocol that was originally created to execute a remote procedure call
on HTTP messages. ICAP is part of an evolving architecture that lets corporations, data
communication companies, and Internet service providers (ISPs) dynamically scan, change,
and augment data as it flows through ICAP servers. The protocol lets ICAP clients pass data
to ICAP servers for adaptation (some type of transformation or other processing, such as virus
or URL filtering). The server executes its transformation service on the data and responds to
the client, possibly with modified content.
Getting started 10
How to maximize performance
In a typical integration for processing HTTP traffic, a caching proxy server retrieves the
requested information from the Web. At the same time, it caches the information (stores a
copy on disk) and, where possible, serves multiple requests for the same Web content from
the cache. A caching proxy server can use ICAP to communicate with Symantec Protection
Engine and request that content that is retrieved from the Web be scanned and repaired, if
necessary.
files to Symantec Protection Engine for scanning) can pass a full path rather than the actual
file to Symantec Protection Engine for improved performance. For example, files to be scanned
might be located on a drive that can be mounted over the network, such as a shared drive in
Windows or a network file system (NFS) drive. If the client application and Symantec Protection
Engine have access to a shared directory, the client application can place the file in the shared
directory and pass the full path to Symantec Protection Engine.
For cases in which the client application is running on the same computer as Symantec
Protection Engine, the client application can pass the file name to Symantec Protection Engine,
and Symantec Protection Engine can open the file and scan it in place on the computer.
See “Local file scanning (FILEMOD)” on page 73.
About licensing
Key features for Symantec Protection Engine are activated by license.
The content scanning features, including antivirus and URL filtering, are activated by product
licenses. Subscription licenses let you obtain updates to virus definitions and URL filtering
content updates. When a license expires, a new license must be installed.
When no product license is installed, Symantec Protection Engine is not operational. After you
install a product license, you can access the relevant portions of the administrative interface,
Getting started 12
Where to start
and Symantec Protection Engine is operational. For example, if you activate a product license
for antivirus scanning only (with no URL filtering), you are not able to access those portions
of the administrative interface that relate to URL filtering.
When no subscription license is installed or a subscription license expires, Symantec Protection
Engine is operational, but updates are not permitted. New virus definitions updates are not
downloaded to keep protection current, and URL-filtering updates to the URL lists are not
permitted.
For more information about licensing, see the Activating licenses sectionSymantec Protection
Engine Implementation Guide.
Where to start
Configuring client applications to use ICAP 1.0 to pass files to Symantec Protection Engine
for scanning involves the following process:
■ Become familiar with the design and features of the software.
See also the Symantec Protection Engine Implementation Guide.
■ Decide how to deploy Symantec Protection Engine to meet your specific requirements.
See “Considerations for custom integration” on page 13.
■ Install and configure Symantec Protection Engine to use ICAP as the communication
protocol.
For more information, see the Symantec Protection Engine Implementation Guide.
See “About configuring Symantec Protection Engine” on page 14.
■ Configure the client applications that will send files to Symantec Protection Engine for
scanning.
Chapter 2
Configuring Symantec
Protection Engine for
custom integrations
This chapter includes the following topics:
For example, for antivirus scanning, the client application can decide which file types to scan
and pass only the appropriate files to Symantec Protection Engine. In other cases, you can
configure the client application to pass all files to Symantec Protection Engine. Then configure
Symantec Protection Engine to scan those file types that are likely to contain viruses.
You must configure the client application to communicate with Symantec Protection Engine
and to handle the results that are returned from Symantec Protection Engine.
How the application is configured to handle the results that are returned from Symantec
Protection Engine can also depend on the capabilities of the third-party application, which
includes, but is not limited to, the following:
■ Blocking access to infected files or files that violate other configured policies
■ Quarantining unrepairable files
For example, for content scanning, Symantec Protection Engine returns only the lookup results
when you use audit mode. The client application applies the blocking policy based on the
results. You can obtain information about configuring the client application to work with
Symantec Protection Engine in audit mode by contacting Symantec Service and Support.
Setting Description
Select the ICAP You must configure Symantec Protection Engine to use ICAP to communicate
protocol and configure with clients that are running the proprietary version 1.0 of ICAP (RFC 3507,
protocol options April 2003). Any appropriate client can use ICAP to communicate with Symantec
Protection Engine to request scanning and repairing of files.
You can configure multiple client applications that use different versions of ICAP
to pass files to a single protection engine.
Configure antivirus You can configure certain aspects of antivirus scanning, including the following
settings options:
Setting Description
Specify processing You can impose restrictions on the amount of resources that are used to handle
limits individual files. These processing limits let you manage resources and protect
your network against denial-of-service attacks.
Configure URL filtering You can configure URL filtering settings, which includes the following options:
settings
■ Specifying URL categories to deny
■ Specifying URLs to allow
■ Auditing URL sites rather than block access
For more information about how to configure these options, see the Symantec Protection
Engine Implementation Guide.
/configuration/protocol/ICAP/ICAPResponse/@value
A single transport can be used for multiple request/response pairs. Requests are matched
with responses by allowing only one outstanding request on a connection at a time. Multiple
connections can be used.
Header Description
Connection Specifies options that the message sender wants to use only for that connection
and not for proxies over other connections.
For example:
Connection: close
Date Provides the date and time that the message was created using standard HTTP
date and time format.
For example:
Uniform Resource Identifier (URI) Complete host name of the ICAP server and the path of the
resource that is being requested
ICAP version Version string for the current version of ICAP using the format
ICAP/version number (for example ICAP/1.0)
The request line specifies the ICAP resource that is being requested. Header fields follow with
information, such as cache control and preview size. The header fields end with a blank line
followed by the message body. The message body contains the encapsulated HTTP message
sections that are being sent for scanning and modification.
Table 3-2 lists the request headers that are allowed in ICAP requests.
Header Description
Allow Lists the methods that the resource supports. For example, a client request
can include an Allow: 204 header, which indicates that it will allow the server
to reply to the message with a 204 No Content response if the file does not
need modification. The client must buffer the message.
From Provides the Internet email address for the user who is sending the client
request. The address should use the standard HTTP mailbox format.
For example:
From: [email protected]
Host Specifies the host name and port number of the resource being requested.
Referer Specifies the path that the client followed to obtain the URI. This optional
header lets the server generate lists of backwards navigation links to resources
and trace invalid links.
User-Agent Identifies the software program that is used by the client that originated the
request. This information is used for statistical purposes, to trace protocol
violations, and to tailor responses to the software capabilities.
Preview Lets the client send a portion of a file to Symantec Protection Engine for
scanning. The client uses this header to specify the amount of data, in bytes,
(ICAP-specific header)
that will be sent for preview.
Constructing clients using ICAP 1.0 20
How ICAP works
Header Description
Encapsulated Lists offsets of the start of each encapsulated section from the start of the
message body.
X-URL-Blocked-Domain This header is an optional field for a URL filtering request. This header is sent
only when a URL is blocked at the domain level. For example, if Symantec
Protection Engine is configured to block uninvitedads.com, then all URL
scanning requests from uninvitedads.com domain receive this header in the
ICAP response
URL filtering requests are identified by following ICAP services:
■ SYMCScanReq-URL
■ SYMCScanReq-AV-URL
■ SYMCScanReqEx-AV-URL
Constructing clients using ICAP 1.0 21
How ICAP works
Header Description
X-Insight-Input-Info This header is used for providing inputs for reputation scanning.
You can have only one extended header for all input parameters. The value
of this header is a comma separated list of key-value pair.
For example:
X-Insight-Input-Info =‘DisableInsightCall=1,
MD5FileHash=<md5 hash of the file>, SHA256FileHash=<SHA256
of file>,InsightAggressionLevel=1/2/3,
IsDigitallySigned=0/1, ReportInsightInfo=0/1,
SourceURL=<Source URL of the file>, SourceIP=<Source IP
of the file>'
DisableInsightCall
InsightAggressionLevel
You can use this option to set the insight aggression level. The values are as
follows:
■ 1: Low Insight aggression level. Hence, very less possibility of false positive
detection.
■ 2: Medium Insight aggression level.
■ 3: High Insight aggression level. Hence, chances are there for false positive
detection.
IsDigitallySigned
You can set the value in this option to enable/disable the extract of digital
signing information of a file.The values are as follows:
Header Description
ReportInsightInfo
You can set the value in this option to enable/disable reputation information
in ICAP response. The values are as follows:
MD5FileHash
SHA256FileHash
SourceURL
SourceIP
OPTIONS (options mode) Lets the client obtain information from an ICAP server about
available services.
REQMOD (request modification mode) Lets the client send URLs to Symantec Protection Engine for
scanning services.
RESPMOD (response modification Lets the client send files to Symantec Protection Engine for
mode) scanning services.
FILEMOD (file modification mode) Lets the client pass a file name and path to Symantec Protection
Engine so that Symantec Protection Engine can scan the file
in place (rather than streaming the file to Symantec Protection
Engine for scanning).
Note: File modification mode deviates from the ICAP 1.0
specification that is presented in RFC 3507 (April 2003).
The ICAP service argument is used to specify the antivirus scanning policy. The
action=repairpolicy argument can override the antivirus scanning repair policy for Symantec
Protection Engine. For services that do not perform antivirus scanning, SYMCScanReq-URL
and SYMCScanResp-DDR, the argument is ignored. The ICAP service argument is as follows:
action=repairpolicy
where repair policy consists of any of the following:
■ scanrepairdelete
■ scanrepair
■ scandelete
■ scan
You can append the argument to the service name by adding a question mark and then the
argument. For example:
SYMCSCANRESP-AV?action=scanrepairdelete
Constructing clients using ICAP 1.0 25
How ICAP works
ICAP/1.0 200 OK
Following is the list of response codes that Symantec Protection Engine uses (response codes
vary depending on the type of request).
■ 100 Continue.
■ 200 OK.
■ 201 Created.
■ 204 No content necessary.
■ 400 Bad request.
■ 403 Forbidden. Infected and not repaired.
■ 404 Not found.
■ 500 Internal server error.
■ 502 Bad gateway.
■ 505 ICAP version not supported.
■ 506 Server too busy.
■ 551 Resource unavailable.
■ 558 Aborted - no scanning license.
The status line is followed by one or more response headers that let the server pass additional
information (for example, information that cannot be placed in the status line) to the client.
Table 3-4 lists the response headers that Symantec Protection Engine uses (response headers
vary depending on the type of request).
Header Description
Date Specifies the date and time as set on the server clock.
Service Specifies the name and version number of the ICAP server.
Header Description
ISTag: "B3C20CFCACEDA72CF16F6AEC119B2981"
Methods Specifies the methods that are supported by the service that you
queried.
Allow Lists the optional ICAP features that the server supports.
Preview Indicates the number of bytes of data that should be sent to Symantec
Protection Engine for preview.
Transfer-Preview Lists the file extensions that should be sent to Symantec Protection
Engine for preview before sending the entire file. An asterisk (*)
wildcard character represents the default behavior for all file
extensions that are not specified in another transfer-type header.
Transfer-Complete Lists the file extensions that should always be sent in their entirety
to Symantec Protection Engine and that should not be previewed.
An asterisk (*) wildcard character represents the default behavior for
all file extensions that are not specified in another Transfer-type
header.
Options-TTL Indicates the time (in seconds) during which the response is valid or
cached. A blank header indicates that the response does not expire.
Encapsulated Lists offsets of the start of each encapsulated section from the start
of the message body.
Header Description
X-Allow-Out Indicates the custom X-headers that are returned in responses from
Symantec Protection Engine.
X-Definition-Info Indicates the date and revision number of the virus definitions in the
following format:
YYYYMMDD.RRR
X-ICAP-Attribute-<serviceid>
This tag indicates that the start of the category list begins after this
CRLF delimited header. The list contains the valid categories for the
requested Service-ID. A semi-colon (;) followed by a blank line
indicates the end of the list.
X-Outer-Container-Is-Mime (Optional header) An integer value that indicates whether the outer
container is a valid MIME container.
Header Description
■ Violation type
An integer value for the violation. Zero (0) indicates a virus, one
(1) indicates a mail policy violation, and two (2) indicates a
container violation or malformity.
■ Resolution
An integer value that indicates what action was taken on the file.
Zero (0) indicates that the file was not fixed, one (1) indicates that
the file was repaired, and two (2) indicates that access to the file
was blocked.
■ Threat value
String that describes the virus or violation that was found.
■ File name
The name of the scanned file or the name of a nested component
within the scanned file. Each component name is separated by a
forward slash mark (/).
■ Violation name
The English-readable name of the violation.
■ Violation ID
A numeric code for the violation.
■ Disposition
An integer value that indicates what action was taken to fix the
file. Zero (0) indicates that the file was not fixed, one (1) indicates
that the file was repaired, and two (2) indicates that the file was
deleted.
Constructing clients using ICAP 1.0 29
How ICAP works
Header Description
X-URL-Blocked-Domain Specifies the domain name for a URL request that Symantec
Protection Engine has blocked.
This header is an optional field for a URL filtering request. This header
is sent only when a URL is blocked at the domain level. For example,
if Symantec Protection Engine is configured to block
uninvitedads.com, then all URL scanning requests from
uninvitedads.com domain receive this header in the ICAP response.
URL filtering requests are identified by following ICAP services:
■ SYMCScanReq-URL
■ SYMCScanReq-AV-URL
■ SYMCScanReqEx-AV-URL
X-File-Insight-Info Indicates the number of files, for which there is Insight related
information available.
1) InsightResult :
Header Description
X-Insight-Cache-Revocation-Content Indicates the date and revision number of the Insight cache revocation
content definitions in the following format:
YYYYMMDD.RRR
X-Insight-Threshold-Setting-Content Indicates the date and revision number of the Insight threshold setting
content definitions in the following format:
YYYYMMDD.RRR
X-Insight-symVT-Content Indicates the date and revision number of the Insight symVT content
definitions in the following format:
YYYYMMDD.RRR
X-APK-Reputation-Info Indicates the APK error code that caused the APK reputation query
failure. "X-APK-Reputation-Info" extended header will be present in
ICAP scan result only if one of the below mentioned scenario occurs
during APK file scanning provided APK reputation is enabled at
Symantec Protection Engine.
Note: The chunked transfer encoding modifies the body of a message so that it can be
transferred as a series of chunks, each with its own (hexadecimal) size indicator, followed by
an optional footer that contains entity-header fields. For more information, see the HTTP/1.1
specification (RFC 2616, section 3.6.1).
The encapsulated header must be included in every ICAP message, except for OPTIONS
requests. This header provides information about where each encapsulated section and
message body starts and ends.
For example:
This example indicates that the message encapsulates a group of request headers, response
headers, and a response body at 0, 45, and 100 byte offsets. Byte offsets use a decimal format.
Chunk sizes within an encapsulated body use a hexadecimal format. If no message body is
sent, a null-body entity is used.
Encapsulated headers use the following syntax:
Encapsulated headers must end with a blank line to make them readable and to terminate
line-by-line HTTP parsers.
Constructing clients using ICAP 1.0 32
About the scanning process
The ICAP RFC specifies that these headers are optional for a response modification request,
but for clients that use Symantec Protection Engine, they are required. It is possible to get
URL filtering on a RESPMOD request, but it is more efficient to block URLs during the request
before expending resources to retrieve the data.
Symantec Protection Engine can be used to scan non-HTTP data, such as files on disk, email
messages, and FTP traffic. You can scan non-HTTP data by creating an ICAP RESPMOD
request with a minimal set of fabricated HTTP request headers and HTTP response headers.
Typically the HTTP request headers include an HTTP request line that contains the file name
(Symantec Protection Engine provides features based on file name, so this is required) and
a Host header. The HTTP response headers contain an HTTP response line: HTTP/1.1 200
OK.
Symantec Protection Engine also supports an extension to ICAP (FILEMOD), which lets the
client send a request to have a file scanned on-disk to avoid sending the file across the network.
An ICAP client requests on-disk scanning by sending an ICAP FILEMOD request to Symantec
Protection Engine. This request is composed of ICAP headers only and no ICAP body
(Encapsulated: null-body=0). Included in the headers is the path that Symantec Protection
Engine can use to access the file. The ICAP response will be similar to a network scan, except
that no data will be returned. Any modification is done on the actual file.
Before sending ICAP requests, the client can query the ICAP server by using the OPTIONS
method to determine which services are supported.
See “How to determine which services are supported (OPTIONS)” on page 40.
icap://server.name:port/servicename
where server.name is the name of the server on which Symantec Protection Engine is running.
The port number is optional if Symantec Protection Engine is running on port 1344, which is
the default ICAP port. Servicename is one of the ICAP services.
See “About ICAP services” on page 23.
Preview Indicates the preferred number of bytes of data that can be sent
See “How to determine which services are supported (OPTIONS)” on page 40.
Table 3-5 details Symantec Protection Engine scanning behavior that is based on the scanning
policies that you configure.
Previews all files Not used Asterisk (*) character All files are previewed
for unwanted content.
Scan all files Asterisk (*) character Not used Symantec Protection
regardless of extension Engine scans every file
in its entirety without
previewing it first.
Constructing clients using ICAP 1.0 35
About threat category responses
Scan all files except Asterisk (*) character List of file extensions Symantec Protection
those with the following Engine previews the
extensions (exclusion file types that are listed
list) in the Transfer-Preview
header for unwanted
content. All other file
types, including
unidentified file types,
are scanned in their
entirety.
For more information, see the Symantec Protection Engine Implementation Guide.
If an OPTIONS response indicates that a file is suitable for preview, the client should include
a Preview header in the request message that indicates the portion of data, in bytes, that is
being sent for preview. Symantec Protection Engine evaluates the initial chunk of data to
determine whether a full scan is required. If so, Symantec Protection Engine requests the
remainder of the data. Scan results are returned in the RESPMOD response message.
EaseOfRemoval=High| Stealth=High|
SubCategoryDescription=Programs that infect other programs,
files, or areas of a computer by inserting themselves or
attaching themselves to that medium.
S: 11101
S: 2
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: res-hdr=0, res-body=83
information about how to modify the configuration.xml file using theXMLmodifier command-line
tool, see the Symantec Protection Engine Implementation Guide.
An example of an X-Violations-Found response header with a NonViralTreat category is as
follows:
Parameter Description
Parameter Description
You can use the OPTIONS request to determine if Symantec Protection Engine is overloaded.
Send an OPTIONS request to the Symantec Protection Engine. If Symantec Protection Engine
is not busy, it will send the standard OPTIONS response to the connector and will keep the
connection open. If Symantec Protection Engine is too busy to process the request, it will reply
with 506 response “Server too busy” and will close the connection. In this case, the load
balancing decision should be made by the connector.
A sample ICAP response body for code 506 is as follows:
The request must include a file (uploading) and use the HTTP POST method.
Otherwise, an ICAP 200 OK response is returned.
The request must include a file (uploading) and use the HTTP POST method.
Otherwise, an ICAP 200 OK response is returned.
The request must include a file (uploading) and use the HTTP POST method.
Otherwise, an ICAP 200 OK response is returned.
The request must include a file (uploading) and use the HTTP POST method.
Otherwise, an ICAP 200 OK response is returned.
SYMCScanResp-AV Provides antivirus scanning for content that is downloaded from the Internet.
SYMCScanReqEx-AV HTTP request is provided to Symantec Protection Engine for antivirus scanning
.
An OPTIONS request to an antivirus-only service provides the validity of the antivirus license,
the antivirus definitions version, and an ISTag, which indicates the state of the configuration
settings.
See “About licensing” on page 11.
ICAP services lists the services that you can use for scan, repair, and delete functions. You
must have a valid license installed to perform scanning functions.
See “About ICAP services” on page 23.
Examples of OPTIONS requests for antivirus scanning are as follows:
For more information about how URL filtering works, see the Symantec Protection Engine
Implementation Guide.
Examples of OPTIONS requests for URL filtering are as follows:
SYMCScanReq-AV-URL Performs URL filtering on HTTP requests and scans HTTP bodies (files)
for malicious content.
Examples of OPTIONS requests for antivirus and URL filtering are as follows:
OPTIONS examples
Examples of OPTIONS services are as follows:
■ OPTIONS antivirus-scanning example
■ OPTIONS URL filtering scanning example
■ OPTIONS antivirus and URL filtering scanning example
icap://<Server>/<service>
S: Preview: 4
S: Transfer-Preview: *
S: X-AV-License: 1
S: Encapsulated: null-body=0
S:
S: Encapsulated: null-body=0
S:
icap://<Server>/<service>
S: X-AV-License: 1
S: Encapsulated: opt-body=0
S: X-Allow-Out: X-Attribute
S: Opt-Body-Type: Attribute-List
S:
S: 4c0
S: X-ICAP-Attribute-SYMCSCANREQ-URL
S: Abortion
S: Advertising
S: Alcohol
S: Anonymizer
S: Art and Museums
S: Art Nudes
S: Automated Web Application
S: Automotive
S: Bikini
S: Blog
S: Business
S: Business Wireless
S: CAIC
S: Cash Gambling
S: Chat
S: Chat/SMS/Text Messaging Wireless
S: Criminal Skills
S: Cults
S: Drugs
S: Dynamic
S: Dynamic Wireless
S: Education
S: Energy
S: Enterprise Webmail
S: Entertainment
S: Entertainment Wireless
S: File Sharing
S: Finance Wireless
S: Finance and Investing
S: Food and Restaurants
S: Forums and Message Boards
S: Freeware and Shareware
S: Gambling
S: Gambling Wireless
S: Gaming
S: Glamour
Constructing clients using ICAP 1.0 49
How to determine which services are supported (OPTIONS)
S: Gore
S: Government
S: Hacking
S: Hate
S: Health
S: Hobbies
S: Hosting
S: Internet Telephony
S: Job Search
S: Kids
S: Law
S: Lifestyle
S: Mature Content
S: Military
S: Mobile Entertainment
S: Music
S: News
S: News Wireless
S: Non profit
S: Occult
S: Personal Ads and Dating
S: Personal Ads andd Dating Wireless
S: Pets
S: Placeholder
S: Politics
S: Pornography
S: Pornography Wireless
S: Portal
S: Proxy Wireless
S: Real Estate
S: Reference
S: Religion
S: Science
S: Search
S: Self Harm
S: Sexual Education
S: Shopping
S: Sports
S: Sports Wireless
S: Streaming Media
S: Suicide
S: Technology and Telecommunications
S: Tobacco
Constructing clients using ICAP 1.0 50
How to determine which services are supported (OPTIONS)
S: Travel
S: Travel Wireless
S: Violence
S: Virtual Community
S: Weapons
S: Webmail
S: Wedding
S: AllowURLsCategory
S: URLReputation
S: ;
S:
S: 0
S:
icap://<Server>/<service>
C: Connection: close
C: Encapsulated: null-body=0
C:
S: ICAP/1.0 200 OK
S: Date: Sat Apr 14 11:39:56 2016 GMT
S: Methods: REQMOD
S: Service: Symantec Protection Engine/7.8.0.140
S: Service-ID: SYMCSCANREQ-AV-URL
S: ISTag: "6B94FB121ED0E2B412F0CF43E803F9DB"
S: X-Definition-Info: 20151216.022
S: X-SYMANTEC-URL-Definition-Info: 20100817.045
S: X-CAIC-URL-Definition-Info: 20100817.042
S: X-SYMANTEC-URLReputation-Definition-Info: 20160414.016
S: Max-Connections: 128
S: X-Allow-Out: X-Outer-Container-Is-Mime, X-Infection-Found, X-Definition-Info, X-AV
X-Infection-Found, X-Definition-Info, X-AV-License
S: X-Allow-Out: X-URL-Blocked-Domain
S: X-Allow-Out: X-Violations-Found
S: Allow: 204
S: Options-TTL: 3600
S: Preview: 4
S: Transfer-Preview: *
S: X-AV-License: 1
S: Encapsulated: opt-body=0
S: X-Allow-Out: X-Attribute
S: Opt-Body-Type: Attribute-List
S:
S: 4c3
S: X-ICAP-Attribute-SYMCSCANREQ-AV-URL
S: Abortion
S: Advertising
S: Alcohol
S: Anonymizer
S: Art and Museums
S: Art Nudes
S: Automated Web Application
S: Automotive
S: Bikini
S: Blog
S: Business
S: Business Wireless
S: CAIC
S: Cash Gambling
Constructing clients using ICAP 1.0 52
How to determine which services are supported (OPTIONS)
S: Chat
S: Chat/SMS/Text Messaging Wireless
S: Criminal Skills
S: Cults
S: Drugs
S: Dynamic
S: Dynamic Wireless
S: Education
S: Energy
S: Enterprise Webmail
S: Entertainment
S: Entertainment Wireless
S: File Sharing
S: Finance Wireless
S: Finance and Investing
S: Food and Restaurants
S: Forums and Message Boards
S: Freeware and Shareware
S: Gambling
S: Gambling Wireless
S: Gaming
S: Glamour
S: Gore
S: Government
S: Hacking
S: Hate
S: Health
S: Hobbies
S: Hosting
S: Internet Telephony
S: Job Search
S: Kids
S: Law
S: Lifestyle
S: Mature Content
S: Military
S: Mobile Entertainment
S: Music
S: News
S: News Wireless
S: Non profit
S: Occult
S: Personal Ads and Dating
Constructing clients using ICAP 1.0 53
How to determine which services are supported (OPTIONS)
S:
S: 4c5
S: X-ICAP-Attribute-SYMCSCANREQEX-AV-URL
S: Abortion
S: Advertising
S: Alcohol
S: Anonymizer
S: Art and Museums
S: Art Nudes
S: Automated Web Application
S: Automotive
S: Bikini
S: Blog
S: Business
S: Business Wireless
S: CAIC
S: Cash Gambling
S: Chat
S: Chat/SMS/Text Messaging Wireless
S: Criminal Skills
S: Cults
S: Drugs
S: Dynamic
S: Dynamic Wireless
S: Education
S: Energy
S: Enterprise Webmail
S: Entertainment
S: Entertainment Wireless
S: File Sharing
S: Finance Wireless
S: Finance and Investing
S: Food and Restaurants
S: Forums and Message Boards
S: Freeware and Shareware
S: Gambling
S: Gambling Wireless
S: Gaming
S: Glamour
S: Gore
S: Government
S: Hacking
S: Hate
Constructing clients using ICAP 1.0 56
How to determine which services are supported (OPTIONS)
S: Health
S: Hobbies
S: Hosting
S: Internet Telephony
S: Job Search
S: Kids
S: Law
S: Lifestyle
S: Mature Content
S: Military
S: Mobile Entertainment
S: Music
S: News
S: News Wireless
S: Non profit
S: Occult
S: Personal Ads and Dating
S: Personal Ads andd Dating Wireless
S: Pets
S: Placeholder
S: Politics
S: Pornography
S: Pornography Wireless
S: Portal
S: Proxy Wireless
S: Real Estate
S: Reference
S: Religion
S: Science
S: Search
S: Self Harm
S: Sexual Education
S: Shopping
S: Sports
S: Sports Wireless
S: Streaming Media
S: Suicide
S: Technology and Telecommunications
S: Tobacco
S: Travel
S: Travel Wireless
S: Violence
S: Virtual Community
Constructing clients using ICAP 1.0 57
Scanning HTTP requests (REQMOD)
S: Weapons
S: Webmail
S: Wedding
S: AllowURLsCategory
S: URLReputation
S: ;
S:
S: 0
S:
icap://server.name:port/symcscanreq-av-url
where server.name is the name of the server on which Symantec Protection Engine is running.
The port number is optional if Symantec Protection Engine is running on port 1344, which is
the default ICAP port.
See “About ICAP responses” on page 25.
Constructing clients using ICAP 1.0 58
Scanning HTTP requests (REQMOD)
REQMOD examples
The ICAP client sends an HTTP request to Symantec Protection Engine, which then returns
any of the following responses:
■ An unmodified version of the original request
■ An HTTP response indicating success or forbidden (for example, virus found or content
blocked)
■ Error condition (for example, bad gateway)
Examples of REQMOD services are as follows:
■ REQMOD antivirus-scanning example
■ REQMOD URL filtering scanning example
■ REQMOD antivirus and URL filtering scanning example
S: 755
S: 0
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: res-hdr=0, res-body=110
S:
S: HTTP/1.1 403 Forbidden.
S: Connection: close
S: Content-Length: 671
S: Pragma: no-cache
S: Content-Type: text/html
S:
S: 29f
S: Getting chunk of size 671 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a virus was found, which is indicated in the X-Violations-Found section.
A sample REQMOD request on SYMCScanReqEx-AV is as follows:
S: eicar.com
S: EICAR Test String| ViralThreat=Virus|
SubCategoryID=0| UberCategories=Malware|
CumulativeRiskRating=High| PerformanceImpact=High|
PrivacyImpact=High| EaseOfRemoval=High| Stealth=High|
SubCategoryDescription=Programs that infect other programs,
files, or areas of a computer by inserting thems
elves or attaching themselves to that medium.
S: 11101
S: 0
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: res-hdr=0, res-body=110
S:
S: HTTP/1.1 403 Forbidden.
S: Connection: close
S: Content-Length: 257
S: Pragma: no-cache
S: Content-Type: text/html
S:
S: 101
S: Getting chunk of size 257 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a virus was found, which is indicated in the X-Violations-Found section. In addition,the
ICAP X-Violations-Found response header includes enhanced threat categorization information
like threat category name (ViralThreat or NonViralThreat), SubCategoryID, UberCategories,
CumulativeRiskRating, PerformanceImpact, PrivacyImpact, EaseOfRemoval, Stealth and
SubCategoryDescription.
C: Accept-Encoding: compress
C: Pragma: no-cache
C:
S: ICAP/1.0 201 Created
S: ISTag: "A3EB96E4EB5FB056774EB9AF72CB41AC"
S: Date: Sat Apr 21 09:19:20 2012 GMT
S: Service: Symantec Protection Engine/7.0.0.31
S: Service-ID: SYMCSCANREQ-URL
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: res-hdr=0, res-body=110
S: X-Attribute: Technology and Telecommunications
S: X-URL-Blocked-Domain: symantec.com
S:
S: HTTP/1.1 403 Forbidden.
S: Connection: close
S: Content-Length: 641
S: Pragma: no-cache
S: Content-Type: text/html
S:
S: 281
S: Getting chunk of size 641 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a block message response is returned because the requested URL was found in a
URL category that was configured to be denied in the Symantec Protection Engine policies.
In this example, the URL was found in the “Technology and Telecommunications” category.
A sample REQMOD request on SYMCScanReq-URL, if the URL belongs to the CAIC category,
is as follows:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a block message response is returned because the requested URL was found in a
URL category that was configured to be denied in the Symantec Protection Engine policies.
In this example, the URL was found in the “CAIC” category.
C:
C: 0
C:
S: ICAP/1.0 201 Created
S: ISTag: "C9893261C2EBC2F648DFC0FCCA87297D"
S: Date: Sat Apr 21 09:25:10 2012 GMT
S: Service: Symantec Protection Engine/7.0.0.31
S: Service-ID: SYMCSCANREQ-AV-URL
S: X-Violations-Found: 2
S: annacar-lzh-rar-hqx-exe.uue/annacar-lzh-rar-hqx.exe
/annacar-lzh-rar.
hqx/ANNACA~1.RAR/annacar.lzh/ANNAREP.COM
S: Anna
S: 42
S: 0
S: annacar-lzh-rar-hqx-exe.uue/annacar-lzh-rar-hqx.exe
/annacar-lzh-rar.
hqx/ANNACA~1.RAR/annacar.lzh/EICAR.COM
S: EICAR Test String
S: 11101
S: 0
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: res-hdr=0, res-body=110
S: X-Attribute: TechnologyandTelecommunication
S: X-URL-Blocked-Domain: symantec.com
S:
S: HTTP/1.1 403 Forbidden.
S: Connection: close
S: Content-Length: 646
S: Pragma: no-cache
S: Content-Type: text/html
S:
S: 286
S: Getting chunk of size 646 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a virus was found, which is indicated in the X-Violations-Found section. A block
message response is returned because the requested URL was found in a URL category that
was configured to be denied in the Symantec Protection Engine policies. In this example, the
URL was found in the “Technology and Telecommunication” category.
Constructing clients using ICAP 1.0 64
Scanning HTTP requests (REQMOD)
S: Connection: close
S: Content-Length: 654
S: Pragma: no-cache
S: Content-Type: text/html
S:
S: 28e
S: Getting chunk of size 654 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a virus was found, which is indicated in the X-Violations-Found section. A block
message response is returned because the requested URL was found in a URL category that
was configured to be denied in the Symantec Protection Engine policies. In this example, the
URL was found in the “CAIC” category.
A sample REQMOD request on SYMCScanReqEx-AV-URL is as follows:
CumulativeRiskRating=High| PerformanceImpact=High|
PrivacyImpact=High| EaseOfRemoval=High| Stealth=High|
SubCategoryDescription=Programs that infect other programs, files,
or areas of a computer by inserting
themselves or attaching themselves to that medium.
S: 11101
S: 0
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: res-hdr=0, res-body=110
S: X-Attribute: Technology and Telecommunications
S: X-URL-Blocked-Domain: symantec.com
S:
S: HTTP/1.1 403 Forbidden.
S: Connection: close
S: Content-Length: 646
S: Pragma: no-cache
S: Content-Type: text/html
S:
S: 286
S: Getting chunk of size 646 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a virus was found, which is indicated in the X-Violations-Found section. In addition,the
ICAP X-Violations-Found response header includes enhanced threat categorization information
like threat category name (ViralThreat or NonViralThreat), SubCategoryID, UberCategories,
CumulativeRiskRating, PerformanceImpact, PrivacyImpact, EaseOfRemoval, Stealth and
SubCategoryDescription.
A block message response is returned because the requested URL was found in a URL
category that was configured to be denied in the Symantec Protection Engine policies. In this
example, the URL was found in the “Technology and Telecommunication” category.
icap://server.name:port/symcscanresp-av-ddr
where server.name is the name of the server on which Symantec Protection Engine is running.
The port number is optional if Symantec Protection Engine is running on port 1344, which is
the default ICAP port.
See “About ICAP responses” on page 25.
RESPMOD examples
The ICAP client sends an HTTP response (including the HTTP request headers) to Symantec
Protection Engine, which then returns any of the following responses:
■ An unmodified version of the original response
■ A modified response, indicating what was found
■ Error condition (for example, bad gateway)
Examples of RESPMOD services are as follows:
■ RESPMOD antivirus-scanning example
■ RESPMOD antivirus and URL filtering scanning example
S: Service-ID: SYMCSCANRESP-AV
S: X-Violations-Found: 1
S: index.html/frere.exe
S: Jeru.1808.Frere Jac
S: 755
S: 2
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: res-hdr=0, res-body=83
S:
S: HTTP/1.1 200 OK
S: Content-Length: 671
S: Pragma: no-cache
S: Content-Type: text/html
S:
S: 29f
S: Getting chunk of size 671 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a virus was found, which is indicated in the X-Violations-Found section.
A sample RESPMOD on SYMCScanRespEx-AV response is as follows:
S: Service-ID: SYMCSCANRESPEX-AV
S: X-Violations-Found: 1
S: eicar.com
S: EICAR Test String| ViralThreat=Virus| SubCategoryID=0|
UberCategories=Malware| CumulativeRis
kRating=High| PerformanceImpact=High| PrivacyImpact=High|
EaseOfRemoval=High| Stealth=High| SubCategoryDescription=Programs
that infect other programs, files, or areas of a computer by inserting
themselves or attaching themselves to that medium.
S: 11101
S: 2
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: res-hdr=0, res-body=83
S:
S: HTTP/1.1 200 OK
S: Content-Length: 257
S: Pragma: no-cache
S: Content-Type: text/html
S:
S: 101
S: Getting chunk of size 257 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a virus was found, which is indicated in the X-Violations-Found section. In addition,the
ICAP X-Violations-Found response header includes enhanced threat categorization information
like threat category name (ViralThreat or NonViralThreat), SubCategoryID, UberCategories,
CumulativeRiskRating, PerformanceImpact, PrivacyImpact, EaseOfRemoval, Stealth and
SubCategoryDescription.
C: HTTP/1.1 200 OK
C:
C: 3ef7
C: Sending chunk of size 16119 bytes
C:
C: 0
C:
S: ICAP/1.0 201 Created
S: ISTag: "7E823734E7070EECD74143AF7CCA7447"
S: Date: Sun May 20 05:10:32 2012 GMT
S: Service: Symantec Protection Engine/7.0.0.31
S: Service-ID: SYMCSCANRESP-DDR
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: res-hdr=0, res-body=83
S: X-Attribute: Sex/Acts
S:
S: HTTP/1.1 200 OK
S: Content-Length: 559
S: Pragma: no-cache
S: Content-Type: text/html
S:
S: 22f
S: Getting chunk of size 559 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a block message response is returned because the threshold was exceeded for a
content category that was configured to be denied in the Symantec Protection Engine policies.
This example returns a block message response because the threshold exceeded the value
that was set for the Sex/Acts category.
C:
C: HTTP/1.1 200 OK
C:
C: 44
C: Sending chunk of size 68 bytes
C:
C: 0
C:
S: ICAP/1.0 201 Created
S: ISTag: "DBDF573DB137CC3FD88B5C294F14427F"
S: Date: Mon Apr 23 08:00:46 2012 GMT
S: Service: Symantec Protection Engine/7.0.0.31
S: Service-ID: SYMCSCANRESP-AV-DDR
S: X-Violations-Found: 1
S: eicar.com
S: EICAR Test String
S: 11101
S: 2
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: res-hdr=0, res-body=83
S:
S: HTTP/1.1 200 OK
S: Content-Length: 671
S: Pragma: no-cache
S: Content-Type: text/html
S:
S: 29f
S: Getting chunk of size 671 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a virus was found, which is indicated in the X-Violations-Found section.
As the DDR service has been deprecated from SSE 5.2.10, no content filtering is done on the
request. The response is returned as 200 OK in this case.
can either be sent to Symantec Protection Engine over the network connection or accessed
on the file system of the computer that is running Symantec Protection Engine.
See “Scanning HTTP responses (RESPMOD)” on page 66.
See “Local file scanning (FILEMOD)” on page 73.
S: 42
S: 1
S: E_Games_Gerganna.txt/gergana.exe
S: Gergana.182
S: 550
S: 2
S: X-Outer-Container-Is-Mime: 1
S: Encapsulated: res-hdr=0, res-body=57
S:
S: HTTP/1.1 200 OK
S: Via: 1.1 Symantec Protection Engine (ICAP)
S:
S: 430a
S: Getting chunk of size 17162 bytes
S:
S: 0
S:
This response returns a 201 Created status, which indicates that a problem was found. In this
example, a virus was found, which is indicated in the X-Violations-Found section.
FILEMOD examples
Examples of RESPMOD services are as follows:
■ FILEMOD antivirus-scanning example
■ FILEMOD antivirus and URL filtering scanning example
This response returns a 403 Forbidden status, which indicates that a problem was found. In
this example, a virus was found, which is indicated in the X-Violations-Found section.
A sample FILEMOD response on SYMCScanRespEx-AV is as follows:
S: Service-ID: SYMCSCANRESPEX-AV
S: X-Violations-Found: 1
S: eicar.com
S: EICAR Test String| ViralThreat=Virus| SubCategoryID=0|
UberCategories=Malware| CumulativeRiskRating=High|
PerformanceImpact=High| PrivacyImpact=High|
EaseOfRemoval=High| Stealth=High| SubCategoryDescription=Programs
that infect other programs, files, or areas of a computer by inserting
themselves or attaching themselves to that medium.
S: 11101
S: 2
S: X-Outer-Container-Is-Mime: 0
S: Encapsulated: null-body=0
S:
This response returns a 403 Forbidden status, which indicates that a problem was found. In
this example, a virus was found, which is indicated in the X-Violations-Found section. In
addition,the ICAP X-Violations-Found response header includes enhanced threat categorization
information like threat category name (ViralThreat or NonViralThreat), SubCategoryID,
UberCategories, CumulativeRiskRating, PerformanceImpact, PrivacyImpact, EaseOfRemoval,
Stealth and SubCategoryDescription.
This response returns a 403 Forbidden status, which indicates that a problem was found. In
this example, a block message response is returned because the threshold was exceeded for
a URL category that was configured to be denied in the Symantec Protection Engine policies.
This example, the threshold exceeded the value that was set for the Sex/Acts category.
This response returns a 403 Forbidden status, which indicates that a problem was found. In
this example, a virus was found, which is indicated in the X-Violations-Found section.
As the DDR service has been deprecated from SSE 5.2.10, no content filtering is done on the
request. The response is returned as 200 OK in this case.
Index
A ICAP (continued)
antivirus scanning methods 22
ICAP 32 querying services 40
load balancing 11 scanning files 32–33
querying services 41–42 services 23
ICAP messages
about 18
C encapsulation 30
cache servers 9 general headers 18
client applications request
about 8 about 18
configuring headers 18
with ICAP 32 response
deploying files 10 codes 25
connectors.. See client applications headers 25
ICAP methods
D FILEMOD 73
deployment 10 OPTIONS 40
REQMOD 57
E RESPMOD 66, 71–72
ICAP response
encapsulated messages 30
changing 15
encapsulation 30
ICAP service argument 23
integration
F custom 8, 13
file scanning Internet Content Adaptation Protocol.. See ICAP
local 10, 73
L
H licenses 11
header fields load balancing
ICAP about 11
general 18
request messages 18
N
HTTP requests
network scanning 72
scanning 57
No Content responses 35
HTTP responses
non-HTTP data
scanning 66
scanning 71
I
ICAP
about 9, 17
Index 79
O
OPTIONS method
querying services 40
P
performance
maximizing 10
Protection Engine
about 7
load balancing 11
protection engine
custom integration 13
protection engine services
querying in ICAP 40
proxy servers 9
R
request headers 18
response codes 25
response headers 18
S
scan policies
setting
administrative interface 14
services 40
Symantec Insight™
X_INSIGHT_INFO 38–39
U
Uniform Resource Identifier.. See URI syntax
URI syntax 18
URL scanning 33
querying services 42
V
virus definitions
licensing 11
X
X_INSIGHT_INFO 38–39
XML modifier tool 15