SSL Control 5.0e Feature Module
SSL Control 5.0e Feature Module
0: SSL Control
Feature Module Document
An effect of the security provided by SSL is the obscuration of all payload, including the URL (Uniform
Resource Locator, for example, https://www.mysonicwall.com) being requested by a client when
establishing an HTTPS session. This is due to the fact that that HTTP is transported within the encrypted
SSL tunnel when using HTTPS. It is not until the SSL session is established (step 14, figure 1) that the actual
target resource (www.mysonicwall.com) is requested by the client, but since the SSL session is already
established, no inspection of the session data by the firewall or any other intermediate device is possible. As
a result, URL based content filtering systems cannot consider the request to determine permissibility in any
way other than by IP address.
For the most part, SSL is employed legitimately, being used to secure sensitive communications, such as
online shopping or banking, or any session where there is an exchange of personal or valuable information.
The ever decreasing cost and complexity of SSL, however, has also spurred the growth of more dubious
applications of SSL, designed primarily for the purposes of obfuscation or concealment rather than security.
An increasingly common camouflage is the use of SSL encrypted web-based proxy servers for the purpose
of hiding browsing details, and bypassing content filters. While it is simple to block well known HTTPS
proxy services of this sort by their IP address, it is virtually impossible to block the thousands of
privately-hosted proxy servers that are readily available through a simple web-search. The challenge is not
the ever-increasing number of such services, but rather their unpredictable nature. Since these services are
often hosted on home networks using dynamically addressed DSL and cable modem connections, the
targets are constantly moving. Trying to block an unknown SSL target would require blocking all SSL traffic,
which is practically infeasible.
SSL Control provides a number of methods to address this challenge by arming the security administrator
with the ability to dissect and apply policy based controls to SSL session establishment. While the current
implementation does not decode the SSL application data, it does allow for gateway-based identification and
disallowance of suspicious SSL traffic.
Feature Benefit
Common-Name based White/Black Lists The administrator can define lists of explicitly
allowed or denied certificate subject common
names (described in Key Concepts). Entries will be
matched on substrings, for example, a blacklist
entry for “prox” will match
“www.megaproxy.com”, “www.proxify.com” and
“proxify.net”. This allows the administrator to
easily block all SSL exchanges employing
certificates issued to subjects with potentially
objectionable names. Inversely, the administrator
can easily authorize all certificates within an
organization by whitelisting a common substring
for the organization. Each list can contain up to
1,024 entries.
SSL version, Cipher Strength, and Certificate SSL Control provides additional management of
Validity Control SSL sessions based on characteristics of the
negotiation, including the ability to disallow the
potentially exploitable SSLv2, the ability to disallow
weak encryption (ciphers less than 64 bits), and the
ability to disallow SSL negotiations where a
certificate’s date ranges are invalid. This enables the
administrator to create a rigidly secure environment
for network users, eliminating exposure to risk
through unseen cryptographic weaknesses, or
through disregard for or misunderstanding of
security warnings.
Zone-Based Application SSL Control is applied at the zone level, allowing
the administrator to enforce SSL policy on the
network. When SSL Control is enabled on the zone,
the SonicWALL looks for Client Hellos sent from
clients on that zone through the SonicWALL will
trigger inspection. The SonicWALL then looks for
the Server Hello and Certificate that is sent in
response for evaluation against the configured
policy. Enabling SSL Control on the LAN Zone, for
example, will inspect all SSL traffic initiated by
clients on the LAN to any destination zone.
Configurable Actions and Event Notifications When SSL Control detects a policy violation, it can
log the event and block the connection, or it can
simply log the event while allowing the connection
to proceed.
• SSLv2 – The earliest version of SSL still in common use. SSLv2 was found to have a number of
weaknesses, limitations, and theoretical deficiencies (comparatively noted in the SSLv3 entry), and is
looked upon with scorn, disdain, and righteous indignation by security purists.
1. http://wp.netscape.com/eng/security/SSL_2.html
SSL TLS
Uses a preliminary HMAC algorithm Uses HMAC as described in RFC 2104
Does not apply MAC to version info Applies MAC to version info
Does not specify a padding value Initializes padding to a specific value
Limited set of alerts and warning Detailed Alert and Warning messages
• MAC – A MAC (Message Authentication Code) is calculated by applying an algorithm (such as MD5
or SHA1) to data. The MAC is a message digest, or a one-way hash code that is fairly easy to compute,
but which is virtually irreversible. In other words, with the MAC alone, it would be theoretically
impossible to determine the message upon which the digest was based. It is equally difficult to find two
different messages that would result in the same MAC. If the receiver’s MAC calculation matches the
sender’s MAC calculation on a given piece of data, the receiver is assured that the data has not been
altered in transit
• Client Hello – The first message sent by the client to the server following TCP session establishment.
This message starts the SSL session, and consists of the following components:
• Version – The version of SSL that the client wishes to use in communications. This is usually the most
recent version of SSL supported by the client.
• Random – a 32-bit timestamp coupled with a 28 byte random structure.
• Session ID – This can either be empty if no Session ID data exists (essentially requesting a new session)
or can reference a previously issued Session ID.
• Cipher Suites – A list of the cryptographic algorithms, in preferential order, supported by the clients.
• Compression Methods – A list of the compression methods supported by the client (typically null).
• Server Hello – The SSL server’s response to the Client Hello. It is this portion of the SSL exchange
that SSL Control inspects. The Server Hello contains the version of SSL negotiated in the session, along
with cipher, session ID and certificate information. The actual X.509 server certificate itself, although
a separate step of the SSL exchange, usually begins (and often ends) in the same packet as the Server
Hello.
• Certificates - X.509 certificates are unalterable digital stamps of approval for electronic security. There
are four main characteristics of certificates:
– Identify the subject of a certificate by a common name or distinguished name (CN or DN).
– Contain the public key that can be used to encrypt and decrypt messages between parties
– Provide a digital signature from the trusted organization (Certificate Authority) that issued the
certificate.
– Indicate the valid date range of the certificate
• Enable SSL Control – The global setting for SSL Control. This must be enabled for SSL Control
applied to zones to be effective.
• Log the event – If an SSL policy violation, as defined within the Configuration section below, is
detected, the event will be logged, but the SSL connection will be allowed to continue.
• Block the connection and log the event – In the event of a policy violation, the connection will be
blocked and the event will be logged.
• Enable Blacklist – Controls detection of the entries in the blackist, as configured in the Configure
Lists section below.
• Enable Whitelist – Controls detection of the entries in the whitelist, as configured in the Configure
Lists section below. Whitelisted entries will take precedence over all other SSL control settings.
• Detect Expired Certificates – Controls detection of certificates whose start date is before the current
system time, or whose end date is beyond the current system time. Date validation depends on the
SonicWALL’s System Time. Make sure your System Time is set correctly, preferably synchronized with
NTP, on the System > Time page.
• Detect SSLv2 – Controls detection of SSLv2 exchanges. SSLv2 is known to be susceptible to cipher
downgrade attacks because it does not perform integrity checking on the handshake. Best practices
recommend using SSLv3 or TLS in its place.
Entries can be added, edited and deleted with the buttons beneath each list window.
Note List matching will be based on the subject common name in the certificate presented in the
SSL exchange, not in the URL (resource) requested by the client.
Changes to any of the SSL Control settings will not affect currently established connections; only new SSL
exchanges that occur following the change commit will be inspected and affected.
When SSL Control is enabled on the zone, the SonicWALL looks for Client Hellos sent from clients on that
zone through the SonicWALL will trigger inspection. The SonicWALL then looks for the Server Hello and
Certificate that is sent in response for evaluation against the configured policy. Enabling SSL Control on the
LAN Zone, for example, will inspect all SSL traffic initiated by clients on the LAN to any destination zone.
To enable SSL Control on a zone, browse to the Network > Zones page, and select the configure icon for
the desired zone. In the Edit Zone window, select the Enable SSL Control checkbox, and click OK. All new
SSL connections initiated from that zone will now be subject to inspection.
Log events will include the client’s username in the notes section (not shown) if the user logged in manually,
or was identified through CIA/Single Sign On. If the user’s identity is not available, the note will indicate
that the user is Unidentified.