|File:WebMonitor 128x128.png Web Monitor||
About Web Monitor
Web Monitor monitors HTTP traffic on your network to monitor user behavior and flag inappropriate content.
- Real-time classification and updates: When your users visit a site, Untangle sends the URL to the cloud to be categorized. When the data is returned, Untangle keeps a temporary local cache of the site and category to speed up the process the next time the URL is requested. This data is then used to block or allow users access to the site they have requested, all without any appreciable increase in load time. If a site is not categorized upon request, it is autocategorized by our partners at zVelo and put into a queue to be verified by a human. Because this is done dynamically, new sites and updated URLs are allowed or blocked according to your settings without additional intervention, plus you have the option of requesting recategorization of sites.
- HTTPS Filtering: Web Monitor has multiple techniques to deal with HTTPS, SSL-encrypted HTTP. HTTPS traffic is encrypted so only some information is visible and this information is used to categorize the session. More information on how this is down below.
- Detailed categorization: Web Monitor offers over 140 categories and over 450 million categorized sites. The Web Monitor database is over 100 times larger and more accurate. The abundance of categories means that you can narrow your scope - maybe you want to flag websites related to Sex, but allow sites dealing with Sexual Education or Pregnancy.
When scanning traffic, Web Monitor evaluates the pass lists, flag lists, categories, and rules at two distinct points of the HTTP transaction. The first evaluation happens after the request is received from the client and before it is forwarded to the server. The second is after the response is received from the server and before it is passed back to the client. This allows a high degree of monitoring over both resources that are requested, and content that is returned in response.
When evaluating HTTP requests, Web Monitor applies the configured rules and lists in the following order:
- A lookup is performed to determine the category for the requested site. The category is attached to the session for use by Web Monitor as well as other applications.
- The source IP of the request is checked against the Pass Clients list. If a match is found, the traffic is allowed.
- The destination site of the request is checked against the Pass Sites list. If a match is found, the traffic is allowed.
- The destination site of the request is checked against the Flag Sites list. If a match is found, the traffic is flagged.
- The traffic details are passed to the Rules list. If a match is found, the traffic is allowed and possibly flagged based on the options configured in the rule that was matched.
- The category determined in step #1 is compared to the Categories list, and the traffic is allowed and possibly flagged based on the corresponding match. If the category could not be determined, the traffic is allowed.
When evaluating HTTP responses, Web Filter applies the configured rules and lists in the following order:
- The source IP of the request is checked against the Pass Clients list. If a match is found, the traffic is allowed.
- The site from which the response was received is checked against the Pass Sites list. If a match is found, the traffic is allowed.
- If the Unblock option is enabled, the site from which the response was received and the client IP are checked against the unblock list. If a match is found, the traffic is allowed.
- The traffic details are passed to the Rules list. If a match is found, the traffic is allowed, flagged, or blocked based on the options configured in the rule that was matched.
This section reviews the different settings and configuration options available for Web Filter.
Categories allows you to customize which categories of sites will be blocked or flagged. Categories that are blocked will display a block page to the user; categories that are flagged will allow the user to access the site, but will be silently flagged as a violation for event logs and Reports. These block/flag actions operate the same way for all of the different Web Filter options.
Site Lookup allows you to find the categorization of a URL. Clicking it brings up a dialog. In Site URL specify the URL to find and click Search to find the URL's categorization.
If you feel the current categorization is incorrect, check Suggest a different category, select a new category from the list, and click Suggest to submit the category change for consideration.
- NOTE: This is only a suggestion and may not be accepted. If accepted it may take a few days to become active.
Under Block Sites you can add individual domain names you want to be blocked or flagged - just enter the domain name (e.g. youtube.com) and specify your chosen action. This list uses URL Matcher syntax.
Pass Sites is used to pass content that would have otherwise been blocked. This can be useful for "unblocking" sites that you don't want blocked according to block settings. Any domains you add to the Passed Sites list will be allowed, even if blocked by category or by individual URL - just add the domain and save. Unchecking the pass option will allow the site to be blocked as if the entry was not present. This list uses URL Matcher syntax.
If you add an IP address to this list, Web Filter will not block any traffic from that IP regardless of the blocked categories or sites. Just add the IP and save. Unchecking the pass option will have the block/pass lists affect the user as if they were not entered into the Passed Client IPs list. This list uses IP Matcher syntax.
- If you have a few users that need to completely bypass Web Filter controls, consider using pass lists. If you have users that simply need different Web Filter settings, you should set up a separate rack using Policy Manager. When using this feature, please remember that DHCP IPs can change, so you'll probably want to set up either a Static IP or a Static DHCP Lease for the machine in question.
The Rules tab allows you to specify rules to Block or Flag traffic that passes through Web Filter.
The Rules documentation describes how rules work and how they are configured. Web Filter uses rules to determine to block or flag the specific session. Flagging a session marks it in the logs for reviewing in the event logs or reports, but has no direct effect on the network traffic.
- Flag: Allows the traffic which matched the rule to flow, and flags the traffic for easier viewing in the event log.
- Block: Blocks the traffic which matched the rule.
In previous versions of Web Filter, there were dedicated lists for blocking certain file extensions or MIME types. This capability is still available using the more flexible filter rules. For blocking specific file extensions, you can create a rule with the condition Web Filter: Response File Extension that has a comma separated list of the extensions to block in the Value field. For blocking MIME types, you would create a rule with the condition Web Filter: Response Content Type that has a comma separated list of the content types to block in the Value field.
Below are tables that list the default file extensions and MIME types that were available in previous versions. Note that these lists are not exhaustive, but are included here as a reference, and to simplify creation of such rules via copy/paste of the values in the tables.
|exe||executable||an executable file format|
|ocx||executable||an executable file format|
|dll||executable||an executable file format|
|cab||executable||an ActiveX executable file format|
|bin||executable||an executable file format|
|com||executable||an executable file format|
|jpg||image||an image file format|
|png||image||an image file format|
|gif||image||an image file format|
|jar||java||a Java file format|
|class||java||a Java file format|
|swf||flash||the flash file format|
|mp3||audio||an audio file format|
|wav||audio||an audio file format|
|wmf||audio||an audio file format|
|mpg||video||a video file format|
|mov||video||a video file format|
|avi||video||a video file format|
|hqx||archive||an archived file format|
|cpt||compression||a compressed file format|
|application/octet-stream||unspecified data||byte stream|
|application/x-oleobject||Microsoft OLE Object||executable|
|audio/mpegurl||MPEG audio URLs||audio|
|audio/x-mpegurl||MPEG audio URLs||audio|
|audio/m4a||MPEG 4 audio||audio|
|audio/aac||Advanced Audio Coding||audio|
|audio/basic||8-bit u-law PCM||audio|
|audio/scpls||streaming mp3 playlists||audio|
|audio/x-scpls||streaming mp3 playlists||audio|
|application/sdp||Streaming Download Project||audio|
|application/x-sdp||Streaming Download Project||audio|
|audio/amr-encrypted||AMR encrypted codec||audio|
|audio/amr-wb-encrypted||AMR-WB encrypted codec||audio|
|audio/x-rn-3gpp-amr-encrypted||3GPP-AMR encrypted codec||audio|
|audio/x-rn-3gpp-amr-wb-encrypted||3gpp-AMR_WB encrypted codec||audio|
|video/3gpp-encrypted||3GPP encrypted video||video|
|application/vnd.rn-realsystem-rmx||RealSystem secure media||video|
|application/x-authorware-bin||Macromedia Authorware binary||multimedia|
|application/x-authorware-map||Macromedia Authorware shocked file||multimedia|
|application/x-authorware-seg||Macromedia Authorware shocked packet||multimedia|
|image/gif||Graphics Interchange Format||image|
|image/png||Portable Network Graphics||image|
|image/tiff||Tagged Image File Format||image|
|text/css||cascading style sheet||text|
|text/tab-separated-values||tab separated values||text|
|application/x-stuffit||Macintosh Stuffit archive||archive|
|application/mac-compactpro||Macintosh Compact Pro||archive|
|application/x-gtar||gzipped tar archive||archive|
|application/x-tar||4.3BSD tar archive||archive|
|application/x-ustar||POSIX tar archive||archive|
|application/x-cpio||old cpio archive||archive|
|application/x-bcpio||POSIX cpio archive||archive|
|application/x-sv4crc||System V cpio with CRC||archive|
|application/x-sv4cpio||System V cpio||archive|
|application/x-sh||UNIX shell script||executable|
|application/x-csh||UNIX csh script||executable|
|application/rtf||Rich Text Format||document|
The Advanced section allows you to configure additional web filter options.
- Process HTTPS traffic by SNI (Server Name Indication) if present: If this option is enabled, HTTPS traffic will be categorized using the "Server Name Indication" in the HTTPS data stream, if present. More details in #HTTPS Options.
- Process HTTPS traffic by hostname in server certificate when SNI information not present: If this option is enabled and SNI information is not present, the certificate is fetched from the HTTPS server and the server name on the certificate will be used for categorization and filtering purposes.
- Process HTTPS traffic by server IP if both SNI and certificate hostname information are not available: If this option is enabled and neither of the previous options worked, HTTPS traffic will be categorized using the IP address. More details in #HTTPS Options.
- Enforce safe search on popular search engines: When this option is enabled, safe search will be enforced on all searches using supported search engines: Google, Yahoo!, Bing, Ask.
- Block pages from IP only hosts: When this option is enabled, users entering an IP address rather than domain name will be blocked.
- Pass if referers match Pass Sites. When this option is checked, if a page contains external content from any site in Pass Sites, that external content will be passed regardless of other block policies.
- Block Google applications: When this option is enabled, only domains listed in Domain are allowed to access Google applications such as Gmail. All others are blocked by Google. Multiple domains can be specified, separated by commas such as:
- NOTE: SSL Inspector must be installed and running with the Inspect Google Traffic configured to Inspect.
- Unblock: This section can be used to add a button to allow users to bypass restrictions on a case-by-case basis.
- If Unblock is set to None no users will be allowed to bypass the block page. If Unblock is set to Temporary users will be allowed to visit the site for one hour from the time it is unblocked. If Unblock is set to Permanent and Global then users will be allowed to visit the site and unblocked sites will be added to the permanent global pass list so it will always be allowed in the future.
- You also have the option of setting a password to Unblock; it can either be the existing Administrator password for the Untangle or you can set a new, separate password only for the Unblock feature.
- Clear Category URL Cache: This option will clear the local cache of categorized sites and URLs. After clearing the cache all new web visits will be looked up fresh using the categorization service. The cache automatically cleans itself as entries become old or stale, so this is mostly for testing.
The Reports tab provides a view of all reports and events for all traffic handled by Web Filter.
This applications reports can be accessed via the Reports tab at the top or the Reports tab within the settings. All pre-defined reports will be listed along with any custom reports that have been created.
Reports can be searched and further defined using the time selectors and the Conditions window at the bottom of the page. The data used in the report can be obtained on the Current Data window on the right.
Pre-defined report queries:
|Web Filter Summary||A summary of web filter actions.|
|Web Usage||The amount of total, flagged, and blocked web requests over time.|
|Web Usage (scanned)||The amount of total, flagged, and blocked web requests over time.|
|Web Usage (flagged)||The amount of flagged, and blocked web requests over time.|
|Web Usage (blocked)||The amount of flagged, and blocked web requests over time.|
|Top Categories (by request)||The number of web requests grouped by category.|
|Top Categories (by size)||The sum of the size of requested web content grouped by category.|
|Top Flagged Categories||The number of flagged web requests grouped by category.|
|Top Blocked Categories||The number of blocked web requests grouped by category.|
|Top Sites (by request)||The number of web requests grouped by website.|
|Top Sites (by size)||The sum of the size of requested web content grouped by website.|
|Top Flagged Sites||The number of flagged web requests grouped by website.|
|Top Blocked Sites||The number of blocked web requests grouped by website.|
|Top Domains (by request)||The number of web requests grouped by domain.|
|Top Domains (by size)||The sum of the size of requested web content grouped by domain.|
|Top Flagged Domains||The number of flagged web requests grouped by domain.|
|Top Blocked Domains||The number of blocked web requests grouped by domain.|
|Top Domains Usage||The amount of web requests per top domain.|
|Top Hostnames (by requests)||The number of web requests grouped by hostname.|
|Top Hostnames (by size)||The sum of the size of requested web content grouped by hostname.|
|Top Flagged Hostnames||The number of flagged web request grouped by hostname.|
|Top Blocked Hostnames||The number of blocked web request grouped by hostname.|
|Top Clients (by requests)||The number of web requests grouped by client.|
|Top Clients (by size)||The sum of the size of requested web content grouped by client.|
|Top Flagged Clients||The number of flagged web request grouped by client.|
|Top Blocked Clients||The number of blocked web request grouped by client.|
|Top Usernames (by requests)||The number of web requests grouped by username.|
|Top Usernames (by size)||The sum of the size of requested web content grouped by username.|
|Top Flagged Usernames||The number of flagged web request grouped by username.|
|Top Blocked Usernames||The number of blocked web request grouped by username.|
|Top Content (by request)||The number of web requests grouped by category.|
|Top Content (by size)||The sum of the size of requested web content grouped by category.|
|Top Searches||The number of non blocked, non-flagged search queries grouped by term.|
|Top Flagged Searches||The number of flagged search queries grouped by term.|
|Top Blocked Searches||The number of blocked search queries grouped by term.|
|All Web Events||Shows all scanned web requests.|
|Flagged Web Events||Shows all flagged web requests.|
|Blocked Web Events||Shows all blocked web requests.|
|All HTTP Events||Shows all scanned unencrypted HTTP requests.|
|All HTTPS Events||Shows all encrypted HTTPS requests.|
|Unblocked Web Events||Shows all unblocked web requests|
|All Search Events||Shows all search queries processed by Web Filter.|
|Flagged Search Events||Shows flagged search queries processed by Web Filter.|
|Blocked Search Events||Shows blocked search queries processed by Web Filter.|
The tables queried to render these reports:
There are many ways to handle HTTPS. An overview of the various techniques is described here.
If SSL Inspector is installed and inspects a session, then it is fully decrypted to HTTP before Web Filter processes the session. In this case HTTPS is treated identically to HTTP. If SSL Inspector is not installed or the session is not inspected, there are still several techniques to handle encrypted HTTP sessions.
There are three HTTPS options.
- Process HTTPS traffic by SNI (Server Name Indication) if present.
- Process HTTPS traffic by hostname in server certificate when SNI information not present
- Process HTTPS traffic by server IP if both SNI and certificate hostname information are not available.
If Process HTTPS traffic by SNI (Server Name Indication) if present encrypted port-443 traffic will be scanned. Most modern browsers on modern OSs will send the hostname of the server in cleartext - this is called "Server Name Indication" or SNI. SNI is an optional cleartext field in the HTTPS request that shows the hostname of the server. If this option is enabled and the SNI information is present in the HTTPS request, this hostname will be used as the URL for this request and all categorization, flag lists, and pass lists, will be processed as if this were a regular HTTP request to that URL.
If the SNI-based categorization determines the page should be passed (and/or flagged) then the session is allowed and the appropriate event based on the SNI information is logged ("https://example.com/").
For example, if the user visits "https://wellsfargo.com/welcome" in the browser, it will see "wellsfargo.com" as the SNI information. If enabled, the request will be handled exactly like "http://wellsfargo.com" would be. If "Banking" is flagged it will be flagged, unless "wellsfargo.com" is in the pass list or the client IP is in the client IP pass list. If "wellsfargo.com" is flaggeed it will be flagged, unless "wellsfargo.com" is in the pass list or the client IP is in the client IP pass list.
If No SNI information is present and Process HTTPS traffic by hostname in server certificate when SNI information not present is enabled, then the hostname will be pulled from the certificate presented to the client.
For example, if the user visits "https://wellsfargo.com/welcome" in a non-SNI enabled browser, then there is no SNI information. In this case if Process HTTPS traffic by hostname in server certificate when SNI information not present is enabled it will use the certificate information instead to categorize the session. It will download the certificate from the site and see that the certificate is "Issued To" "www.wellsfargo.com." It will use this information to check the category for "https://www.wellsfargo.com" and categorize the session.
If no SNI or certificate information was available and Process HTTPS traffic by server IP if both SNI and certificate hostname information are not available the session will be processed and categorized by IP address. If the IP-based processing and categorization of the web requests determines the session should be flagged, the session is reset and no more processing of this session will be done. If the IP-based processing and categorization determines the page should be passed (and/or flagged) then the session is allowed and the appropriate event based on its IP is logged ("https://188.8.131.52").
For example, if the user visits "https://wellsfargo.com/welcome" in a non-SNI enabled browser, then there is no SNI information. If the the certificate information was missing for some reason then this session can only be identified by IP address. In this case if Process HTTPS traffic by server IP if both SNI and certificate hostname information are not available is enabled it will use the IP address instead. So it will process/categorize this web request as 'http://184.108.40.206' if 220.127.116.11 is the IP of wellsfargo.com. This will still often result in correct categorization for dedicated web servers, but does poorly when using generic cloud computing servers that offer a wide variety of websites.
Note: Neither HTTPS process (SNI, certificate, or IP-based categorization) can read the URI information as it is not sent in cleartext. As such the URI will not be used as part of the categorization and the URI is assumed to be "/" when evaluating pass rules. If scanning the URI is necessary then full SSL Inspection may be required. Read here for more information
To see the HTTPS categorization in action use the "All HTTPS Events" query in the event log.
Web Monitor FAQs
Why is there a pass list if Web Monitor can't block sites?
Web Monitor is useful for monitoring web activity, and as part of that it is often useful to flag certain web activity to make it more visible in reports. Adding a site to the pass list will prevent the site from being flagged even if it otherwise would be because the category is flagged or a rule flags it.
Can I block sites with Web Monitor?
No. Web Monitor is for monitoring web activity only. In order to modify or block web content Web Filter is required.