IN THIS PAGE
Sophos Antivirus Protection on NFX Devices
The Sophos antivirus scanner uses a local internal cache to maintain query responses from the external list server to improve lookup performance. For more information, see the following topics:
Sophos Antivirus Protection Overview
Sophos supports the same protocols as full antivirus and functions in much the same manner; however, it has a smaller memory footprint and is compatible with lower end devices that have less memory.
Sophos antivirus is an in-the-cloud antivirus solution. The virus pattern and malware database is located on external servers maintained by Sophos (Sophos Extensible List) servers, thus there is no need to download and maintain large pattern databases on the Juniper device. The Sophos antivirus scanner also uses a local internal cache to maintain query responses from the external list server to improve lookup performance.
Because a significant amount of traffic processed by Juniper Unified Threat Management (UTM) is HTTP based, Uniform Resource Identifier (URI) checking is used to effectively prevent malicious content from reaching the endpoint client or server. The following checks are performed for HTTP traffic: URI lookup, true file type detection, and file checksum lookup. The following application layer protocols are supported: HTTP, FTP, SMTP, POP3 and IMAP.
IPv6 pass-through traffic for HTTP, HTTPS, FTP, SMTP, POP3, IMAP protocols is supported for Sophos antivirus, Web filtering and Content filtering security features of UTM.
Sophos Antivirus Features
Sophos antivirus has the following main features:
Sophos antivirus expanded MIME decoding support—Sophos antivirus offers decoding support for HTTP, POP3, SMTP, and IMAP. MIME decoding support includes the following for each supported protocol:
Multipart and nested header decoding
Base64 decoding, printed quote decoding, and encoded word decoding in the subject field
Sophos antivirus supports HTTPS traffic— Sophos antivirus over SSL forward proxy does so by intercepting HTTPS traffic passing through the device. The security channel from the device is divided as one SSL channel between the client and the device, and another SSL channel between the device and the HTTPS server. SSL forward proxy acts as the terminal for both channels and forwards the cleartext traffic to UTM. UTM extracts the URL and the file checksum information from cleartext traffic. The Sophos antivirus scanner determines whether to block or permit the requests.
SSL forward proxy does not support client authentication. If client authentication is required by the server, UTM bypasses the traffic. UTM bypasses the HTTPS traffic under the following conditions:
If SSL proxy does not parse the first handshake packet from the client, SSL forward proxy bypasses the traffic.
If the SSL proxy handshake with the client and server is incomplete because of compatibility issues, connection drops.
If the system resource is low, SSL forward proxy cannot handle the new connection and Sophos antivirus bypasses the traffic.
If HTTPS traffic hits the whitelist of SSL forward proxy, SSL forward proxy and Sophos antivirus bypass the traffic.
Sophos antivirus scan result handling—With Sophos antivirus, the TCP, traffic is closed gracefully when a virus is found and the data content is dropped.
The following fail mode options are supported: content-size, default, engine-not-ready, out-of-resource, timeout, and too-many-requests. You can set the following actions: block, log-and-permit, and permit. Fail mode handling of supported options with Sophos is much the same as with full antivirus.
Sophos Uniform Resource Identifier checking—Sophos provides Uniform Resource Identifier (URI) checking, which is similar to antispam realtime blackhole list (RBL) lookups. URI checking is a way of analyzing URI content in HTTP traffic against the Sophos database to identify malware or malicious content. Because malware is predominantly static, a checksum mechanism is used to identify malware to improve performance. Files that are capable of using a checksum include .exe, .zip, .rar, .swf, .pdf, and .ole2 (doc and xls).
Note If you have a Juniper Networks device protecting an internal network that has no HTTP traffic, or has webservers that are not accessible to the outside world, you might want to turn off URI checking. If the webservers are not accessible to the outside world, it is unlikely that they contain URI information that is in the Sophos URI database. URI checking is on by default.
Understanding Sophos Antivirus Data File Update
Sophos antivirus uses a small set of data files that need to be updated periodically. These data files only contain information on guiding scanning logic and do not contain the full pattern database. The main pattern database, which includes protection against critical viruses, URI checks, malware, worms, Trojans, and spyware, is located on remote Sophos Extensible List servers maintained by Sophos.
The Sophos data files are updated over HTTP or HTTPS and can be updated manually or scheduled to update automatically. With Sophos antivirus:
The signature database auto-update interval is once a day by default. This interval can be changed.
There is no interruption in virus scanning capability during the data file update. If the update fails, the existing data files will continue to be used.
By default, the URL for Sophos antivirus data file update is http://update.juniper-updates.net/SAV/.
The Sophos antivirus scanning feature is a separately licensed subscription service. When your antivirus license key expires, functionality will no longer work because the pattern lookup database is located on remote Sophos servers. You have a 30-day grace period in which to update your license.
Sophos Antivirus Configuration Overview
Sophos antivirus is part of the Unified Threat Management (UTM) feature set, so you first configure UTM options (custom objects), configure the Sophos Feature, then create a UTM policy and a security policy. The security policy controls all traffic that is forwarded by the device, and the UTM policy specifies which parameters to use to scan traffic. The UTM policy is also used to bind a set of protocols to one or more UTM feature profiles, including Sophos antivirus in this case.
You must complete the following tasks to configure Sophos antivirus:
- Configure UTM custom objects and MIME lists. See Configuring Sophos Antivirus Custom Objects.
- Configure the Sophos antivirus feature profile. See Configuring Sophos Antivirus Feature Profile.
- Configure a UTM policy. See Configuring Sophos Antivirus UTM Policies.
- Configure a security policy. See Configuring Sophos Antivirus Firewall Security Policies.
Configuring Sophos Antivirus Custom Objects
To configure antivirus protection using the CLI, you must create your custom objects in the following order:
- Configure MIME lists. This includes creating a MIME whitelist
and a MIME exception list for antivirus scanning. In this procedure,
you bypass scanning of QuickTime videos, unless if they contain the
MIME type quicktime-inappropriate.
Warning When you configure the MIME whitelist feature, be aware that, because header information in HTTP traffic can be spoofed, you cannot always trust HTTP headers to be legitimate. When a Web browser is determining the appropriate action for a given file type, it detects the file type without checking the MIME header contents. However, the MIME whitelist feature does refer to the MIME encoding in the HTTP header. For these reasons, it is possible in certain cases for a malicious website to provide an invalid HTTP header. For example, a network administrator might inadvertently add a malicious website to a MIME whitelist, and, because the site is in the whitelist, it will not be blocked by Sophos even though Sophos has identified the site as malicious in its database. Internal hosts would then be able to reach this site and could become infected.
Create the MIME whitelist.
[edit security utm]user@host# set custom-objects mime-pattern avmime2 value [video/quicktime image/x-portable-anymap x-world/x-vrml]Create the MIME exception list.
[edit security utm]user@host# set custom-objects mime-pattern exception-avmime2 value [video/quicktime-inappropriate]
- Configure a URL pattern list (whitelist) of URLs or addresses
that you want to bypass. After you create the URL pattern list, you
create a custom URL category list and add the pattern list to it.
Configure a URL pattern list custom object by creating the list name
and adding values to it as follows.
Note Because you use URL pattern lists to create custom URL category lists, you must configure URL pattern list custom objects before you configure custom URL category lists.
[edit security utm]user@host# set custom-objects url-pattern urllist2 value [http://www. example.net 192.168.1.5]Note URL pattern wildcard support—The wildcard rule is as follows: \*\.[]\?* and you must precede all wildcard URLs with http://. You can only use “*” if it is at the beginning of the URL and is followed by a “.”. You can only use “?” at the end of the URL.
The following wildcard syntax is supported: http://*.example.net, http://www.example.ne?, http://www.example.n??. The following wildcard syntax is not supported: *.example.net , www.example.ne?, http://*example.net, http://*.
- Configure a custom URL category list custom object by
using the URL pattern list urllist2 that you created earlier:[edit security utm]user@host# set custom-objects custom-url-category custurl2 value urllist2
To verify the configuration, enter the show security utm custom-objects command.
Configuring Sophos Antivirus Feature Profile
This procedure shows you how to configure a Sophos antivirus profile that defines the parameters that will be used for virus scanning.
This procedure shows you how to create a custom Sophos profile. If you want to use the Juniper Networks preconfigured profile, use the profile named junos-sophos-av-defaults in your UTM policy. See Configuring Sophos Antivirus UTM Policies.
- Select and configure the engine type. Because you are
configuring Sophos antivirus, you configure sophos-engine. [edit]user@host# set security utm feature-profile anti-virus sophos-engine
- Commit the configuration.
- Select a time interval for updating the data files. The
default antivirus pattern-update interval is 1440 minutes (every 24
hours). You can choose to leave this default, or you can change it.
You can also force a manual update, if needed. To change the default
from every 24 hours to every 48 hours:[edit security utm feature-profile anti-virus]user@host# set sophos-engine pattern-update interval 2880
- Configure the network device with the proxy server details,
to download the pattern update from a remote server:[edit security utm feature-profile anti-virus]user@host# set sophos-engine pattern-update proxy
- In most circumstances, you will not need to change the
URL to update the pattern database. If you do need to change the URL,
use the following command:[edit security utm feature-profile anti-virus]user@host# set sophos-engine pattern-update url http://www.example.net/test-download
- You can configure the device to notify a specified administrator
when data files are updated. This is an e-mail notification with a
custom message and a custom subject line.[edit security utm feature-profile anti-virus]user@host# set sophos-engine pattern-update email-notify admin-email admin@example.net custom-message “Sophos antivirus data file was updated” custom-message-subject “AV data file updated”
- Configure a list of fallback options as block, log and
permit, or permit. The default setting is log-and-permit. You can
use the default settings, or you can change them.
Configure the content size action. In this example, if the content size is exceeded, the action taken is block.
Create the profile named sophos-prof1.
[edit security utm feature-profile anti-virus]user@host# edit sophos-engine profile sophos-prof1Configure the content size fallback-option to block.
[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set fallback-options content-size blockConfigure the default fallback option to log-and-permit.
[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set fallback-options default log-and-permitConfigure log-and-permit if the antivirus engine is not ready.
[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set fallback-options engine-not-ready log-and-permitConfigure log-and-permit if the device is out of resources.
[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set fallback-options out-of-resources log-and-permitConfigure log-and-permit if a virus scan timeout occurs.
[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set fallback-options timeout log-and-permitConfigure log-and-permit if there are too many requests for the virus engine to handle.
[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set fallback-options too-many-requests log-and-permit - Configure notification options. You can configure notifications
for fallback blocking, fallback nonblocking actions, and virus detection.
In this step, configure a custom message for the fallback blocking action and send a notification for protocol-only actions to the administrator and the sender.
[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set notification-options fallback-block custom-message ***Fallback block action occurred*** custom-message-subject Antivirus Fallback Alert notify-mail-sender type protocol-only allow email administrator-email admin@example.net - Configure a notification for protocol-only virus detection,
and send a notification.[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host#set notification-options virus-detection type protocol-only notify-mail-sender custom-message-subject ***Virus detected*** custom-message Virus has been detected
- Configure content size parameters.
Note When you configure the content-size value, keep in mind that in certain cases, content size is available in the protocol headers, so the max-content-size fallback is applied before a scan request is sent. However, in many cases, content size is not provided in the protocol headers. In these cases, the TCP payload is sent to the antivirus scanner and accumulates until the end of the payload. If the accumulated payload exceeds the maximum content size value, then max-content-size fallback is applied. The default fallback action is log and permit, so you may want to change this option to block, in which case such a packet is dropped and a block message is sent to the client.
In this example, if the content size exceeds 20 MB, the packet is dropped.
[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set scan-options content-size-limit 20000 - URI checking is on by default. To turn off URI checking:[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set scan-options no-uri-check
- Configure the timeout setting for the scanning operation
to 1800 seconds. [edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set scan-options timeout 1800
- The Sophos Extensible List servers contain the virus and
malware database for scanning operations. Set the response timeout
for these servers to 3 seconds (the default is 2 seconds).[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set scan-options sxl-timeout 3
- Configure the Sophos Extensible List server retry option
to 2 retries (the default is 1).[edit security utm feature-profile anti-virus sophos-engine profile sophos-prof1]user@host# set scan-options sxl-retry 2
- Configure the trickling setting to 180 seconds. If you
use trickling, you can also set timeout parameters. Trickling applies
only to HTTP. HTTP trickling is a mechanism used to prevent the HTTP
client or server from timing out during a file transfer or during
antivirus scanning.
Warning When you enable the trickling option, keep in mind that trickling might send part of a file to the client during its antivirus scan. It is therefore possible that some of the content could be received by the client before the file has been fully scanned.
[edit security utm feature-profile anti-virus]user@host# set sophos-engine profile sophos-prof1 trickling timeout 180 - Configure the antivirus module to use MIME bypass lists
and exception lists. You can use your own custom object lists, or
you can use the default list that ships with the device called junos-default-bypass-mime.
In this example, you use the lists that you set up earlier.[edit security utm feature-profile anti-virus]user@host# set mime-whitelist list avmime2[edit security utm feature-profile anti-virus]user@host# set mime-whitelist list exception-avmime2
- Configure the antivirus module to use URL bypass lists.
If you are using a URL whitelist, this is a custom URL category you
have previously configured as a custom object. URL whitelists are
valid only for HTTP traffic. In this example you use the lists that
you set up earlier. [edit security utm feature-profile anti-virus]user@host# set url-whitelist custurl2
To view the antivirus status, enter the show security utm anti-virus status command.
Configuring Sophos Antivirus UTM Policies
After you have created an antivirus feature profile, you configure a UTM policy for an antivirus scanning protocol and attach this policy to a feature profile. In this procedure, HTTP will be scanned for viruses, as indicated by the http-profile statement. You can scan other protocols as well by creating different profiles or adding other protocols to the profile, such as: imap-profile, pop3-profile, and smtp-profile.
To configure a UTM policy for Sophos antivirus:
- Go to the edit security utm hierarchy.[edit]user@host# edit security utm
- Create the UTM policy utmp3 and attach it to the http-profile
sophos-prof1.[edit security utm]user@host# set utm-policy utmp3 anti-virus http-profile sophos-prof1
Note You can use the default Sophos feature profile settings by replacing sophos-prof1 in the above statement with junos-sophos-av-defaults.
To verify the configuration, enter the show security utm utm-policy utmp3 command.
Configuring Sophos Antivirus Firewall Security Policies
This procedure describes how to create a firewall security policy that will cause traffic from the untrust zone to the trust zone to be scanned by Sophos antivirus using the feature profile settings defined in Configuring Sophos Antivirus Feature Profile. Because the match application configuration is set to any, all application types will be scanned.
To configure a security policy for Sophos antivirus:
- Configure the untrust to trust policy to match any source-address.[edit security]user@host# set policies from-zone untrust to-zone trust policy p3 match source-address any
- Configure the untrust to trust policy to match any destination-address.[edit security]user@host# set policies from-zone untrust to-zone trust policy p3 match destination-address any
- Configure the untrust to trust policy to match any application
type.[edit security]user@host# set policies from-zone untrust to-zone trust policy p3 match application any
- Attach the UTM policy named utmp3 to the firewall security
policy. This will cause matched traffic to be scanned by the Sophos
antivirus feature.[edit security]user@host# set policies from-zone untrust to-zone trust policy p3 then permit application-services utm-policy utmp3
To verify the configuration, enter the show security policies command.
Managing Sophos Antivirus Data Files
In this example, you configure the device to update the data files automatically every 4320 minutes (every 3 days).
The default data file update interval is 1440 minutes (every 24 hours).
To automatically update Sophos data files:
The following commands are performed from CLI operational mode.
To manually update data files:
To manually reload data files:
To manually delete data files:
To check the status of antivirus, which also shows the data files version:
To check the status of the proxy server: