Content Gateway Manager Help
Content Gateway Manager Help
Content Gateway Manager Help
8.4.x
©1996–3/17/20, Forcepoint
All rights reserved.
10900-A Stonelake Blvd, Quarry Oaks 1, Ste 350, Austin, TX 78759, USA
Published 3/17/20
Forcepoint and the FORCEPOINT logo are trademarks of Forcepoint. Raytheon is a registered trademark of Raytheon Company. All other
trademarks used in this document are the property of their respective owners.
This document may not, in whole or in part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-
readable form without prior consent in writing from Forcepoint. Every effort has been made to ensure the accuracy of this manual. However,
Forcepoint makes no warranties with respect to this documentation and disclaims any implied warranties of merchantability and fitness for a
particular purpose. Forcepoint shall not be liable for any error or for incidental or consequential damages in connection with the furnishing,
performance, or use of this manual or the examples herein. The information in this documentation is subject to change without notice.
Contents
Contents
Topic 1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Content Gateway deployment options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
SSL inspection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Web proxy cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Cache hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Managed cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
DNS proxy cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Content Gateway components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
RAM cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Adaptive Redirection Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Host database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
DNS resolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Content Gateway processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Content Gateway administration tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Proxy traffic analysis features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Technical Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Topic 2 Getting Started with Content Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Accessing the Content Gateway manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Security certificate alerts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Windows 7 considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Configuring Content Gateway for two-factor authentication . . . . . . . . . . . . . 11
Accessing the Content Gateway manager if you forget the master administrator
password . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Content Gateway online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Entering your subscription key. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Providing system information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Verifying that the proxy is processing Internet requests . . . . . . . . . . . . . . . . . . . 16
Using the command-line interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Starting and stopping Content Gateway on the command line . . . . . . . . . . . . . . 18
The no_cop file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Topic 3 Web Proxy Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Cache requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Ensuring cached object freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
HTTP object freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
FTP object freshness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Scheduling updates to local cache content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Configuring the Scheduled Update option . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Online Help i
Contents
Online Help v
Contents
Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Integrated Windows Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Legacy NTLM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
SOCKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Web DLP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
ARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
ICAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
WCCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
DNS Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
DNS Resolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Virtual IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Client Connection Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
SSL Key Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
CRL Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Appendix B Commands and Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Content Gateway commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Content Gateway variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Appendix C Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
My Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Subscription. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
UI Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Snapshots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Logs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
HTTP Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
HTTP Scheduled Update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
HTTPS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Content Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Mapping and Redirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Browser Auto-Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Connection Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
FIPS Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Web DLP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
SOCKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Connection Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
ARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
WCCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
DNS Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
DNS Resolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
ICAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Virtual IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Health Check URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Appendix D Event Logging Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Custom logging fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Squid logging formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Netscape Common logging formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Netscape Extended logging formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Netscape Extended-2 logging formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Appendix E Content Gateway Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Specifying URL regular expressions (url_regex). . . . . . . . . . . . . . . . . . . . . . . . 375
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
auth_domains.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
auth_rules.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
bypass.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Dynamic deny bypass rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
cache.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
filter.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
hosting.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
ip_allow.config. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
ipnat.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
log_hosts.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
logs_xml.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
WebTrends Enhanced Log Format (WELF). . . . . . . . . . . . . . . . . . . . . . . . . 400
mgmt_allow.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
parent.config. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
partition.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
records.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
Configuration variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
System variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Local manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Online Help ix
Contents
Online Help xi
Contents
Libnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
libregx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
MRTG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Net-SNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
Netscape Directory SDK 4.0 for C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
OpenLDAP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
OpenSSL and OpenSSL FIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Py2ipaddress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
SQLite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Tcl 8.3.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
zlib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Related topics:
● Content Gateway deployment options, page 2
● Content Gateway components, page 4
● Proxy traffic analysis features, page 7
● Technical Support, page 8
SSL inspection
When the HTTPS option is enabled, HTTPS traffic is decrypted, inspected, and
re-encrypted as it travels to and from the client and origin server.
Content Gateway does not cache HTTPS content.
Important
Even when HTTPS is not enabled, Content Gateway still
performs a URL lookup for HTTPS requests and applies
policy accordingly.
In explicit proxy mode, when HTTPS is disabled, Content
Gateway performs URL filtering based on the hostname in
the request. If the site is blocked, Content Gateway serves
a block page. Note that some browsers do not support
display of the block page. To disable this feature, configure
clients to not send HTTPS requests to the proxy.
In transparent proxy mode, when HTTPS is disabled, if
there is an SNI in the request, Content Gateway gets the
hostname from the SNI and performs URL filtering based
on the hostname. Otherwise, Content Gateway uses the
Common Name in the certificate of the destination server.
However, if the Common Name contains a wildcard (*),
the lookup is performed on the destination IP address. If
the site is blocked, the connection with the client is
dropped; no block page is served. To disable this feature
when used with WCCP, do not create a service group for
HTTPS.
Cache hierarchy
Content Gateway can participate in flexible cache hierarchies, where Internet requests
not fulfilled in one cache can be routed to other regional caches, taking advantage of
their contents and proximity. In a hierarchy of proxy servers, Content Gateway can act
either as a parent or child, either to other Content Gateway servers or to other caching
products. See Hierarchical Caching, page 93.
Managed cluster
Content Gateway scales from a single node to multiple nodes, with a maximum
recommended limit of 16. This forms a managed cluster that improves system
capacity, performance, and reliability.
● A managed cluster detects the addition and removal of nodes.
● Cluster nodes automatically share configuration information, allowing members
of the cluster to all be administered at the same time.
If the virtual IP failover option is enabled, Content Gateway maintains a pool of
virtual IP addresses that it assigns to the nodes of the cluster. Content Gateway can
detect node failures (such as power supply or CPU failures) and reassign IP addresses
of the failed node to the operational nodes. See Virtual IP failover, page 90, for
details.
If Content Gateway is configured as a transparent proxy with WCCP, failover is
handled by WCCP and virtual IP failover should not be used. See WCCP load
distribution, page 54.
For complete information, see Clusters, page 85.
Cache
The cache consists of a high-speed object database called the object store. The object
store indexes objects according to URLs and associated headers. The object store can
cache alternate versions of the same object, varying on spoken language or encoding
type, and can store small and large documents, minimizing wasted space. When the
cache is full, the proxy removes stale data, ensuring that frequently requested objects
are fresh.
Content Gateway tolerates disk failure on any cache disk. If the disk fails completely,
Content Gateway marks the disk as corrupt and continues using the remaining disks. If
all cache disks fail, Content Gateway goes into proxy-only mode.
You can partition the cache to reserve disk space for storing data for specific protocols
and origin servers. See Configuring the Cache, page 95.
RAM cache
Content Gateway maintains a small RAM memory cache of extremely popular
objects. This RAM cache serves the most popular objects quickly and reduces load on
disks, especially during traffic peaks. You can configure the RAM cache size. See
Changing the size of the RAM cache, page 100.
Host database
The host database stores the Domain Name Server (DNS) entries of origin servers to
which the proxy connects. Among other information, the host database tracks:
● DNS information (for fast conversion of host names to IP addresses)
● The HTTP version of each host (so advanced protocol features can be used with
hosts running modern servers)
● Host reliability and availability information (to avoid waits for non-functional
servers)
DNS resolver
For transparent proxy deployments, the proxy includes an asynchronous DNS resolver
to streamline conversion of host names to IP addresses. Content Gateway implements
the DNS resolver natively, directly issuing DNS command packets, rather than relying
on resolver libraries. Many DNS queries can be issued in parallel and a fast DNS
cache maintains popular bindings in memory, reducing DNS traffic.
Important
Should the Linux system DNS server configuration change
(/etc/resolv.conf), you must restart Content Gateway.
The primary Content Gateway configuration and administration tool is the web-based
graphical user interface that is accessible through your browser. The Content Gateway
manager offers password-protected, SSL-encrypted, single-point administration for an
entire Content Gateway cluster. The Content Gateway manager provides graphs and
statistical displays for monitoring Content Gateway performance and network traffic,
and options for configuring and fine-tuning the proxy.
Sometimes it is convenient or necessary to use the Content Gateway command-line
interface. You can execute individual commands or script a series of commands in a
shell. This facility is not available when Content Gateway is hosted on a Forcepoint
appliance. Instead, use the Content Gateway manager and see your Forcepoint
appliance documentation.
Like the command line interface, it is sometimes convenient or necessary to make
configuration changes in Content Gateway configuration files. They support
administration through a file-editing and signal-handling interface. Any changes you
make through the Content Gateway manager or command-line interface are
automatically made to the configuration files.
See:
● Accessing the Content Gateway manager, page 9
● Using the command-line interface, page 17
Content Gateway provides options for network traffic analysis and monitoring:
● Manager statistics and graphs show network traffic information. View graphs and
statistics from the Content Gateway manager, or collect and process statistics
using the command-line interface.
● A variety of Performance graphs show historical information about virtual
memory usage, client connections, document hit rates, and so on. View
Performance graphs in the Content Gateway manager.
● Manager alarms are presented in the Content Gateway manager. Content
Gateway signals an alarm for any detected failure condition. You can configure
Content Gateway to send email or page support personnel when an alarm occurs.
Content Gateway also sends select alarms to the Forcepoint Security Manager,
where they are referred to as alerts. Summary alert messages are displayed on the
Web > Status > Dashboard > System page. The full alert message is displayed
on the Status > Alerts page. Web Security administrators can configure which
Content Gateway conditions cause alert messages to be sent, and which methods
(email or SNMP) are used to send the alert.
● Transaction logging lets you record information in a log file about every request
the proxy receives and every error it detects. Use the logs to determine how many
people use the proxy, how much information each person requested, and which
pages are most popular. You can see why a transaction was in error and see the
state of the proxy cache at a particular time. For example, you can see that Content
Gateway was restarted or that cluster communication timed out.
Content Gateway supports several standard log file formats, such as Squid and
Netscape, and its own custom format. You can analyze the standard format log
files with off-the-shelf analysis packages. To help with log file analysis, separate
log files so that they contain information specific to protocol or hosts.
For traffic analysis options, see Monitoring Traffic, page 111. For logging options, see
Working With Log Files, page 227.
Technical Support
After you have installed Content Gateway on a system or on all of the nodes in your
cluster, the proxy is ready for use.
You can configure Content Gateway via its web-based user interface: the Content
Gateway manager.
To get started, see:
● Accessing the Content Gateway manager, page 9
● Entering your subscription key, page 15
● Verifying that the proxy is processing Internet requests, page 16
● Using the command-line interface, page 17
● Starting and stopping Content Gateway on the command line, page 18
Note
When SSO (not available with Forcepoint DLP Web
Content Gateway) is used, the browser must be configured
to allow pop-ups on the Content Gateway IP address.
■ When two-factor authentication is enabled, this is the only method that can be
used. See Configuring Content Gateway for two-factor authentication, page
11.
■ For SSO configuration instructions, see the Forcepoint Web Security
Administrator Help.
■ If you log on to Content Gateway manager using SSO, when you log off of
Content Gateway manager your session is closed.
● By entering the IP address and port of the Content Gateway host system in your
browser:
1. In the browser address bar, enter:
https://<nodename>:<port>
Here, <nodename> is the IP address of Content Gateway and <port> is the
port number assigned to the Content Gateway manager (8081, by default).
2. On the logon page, enter your administrator ID (admin, by default) and
password.
○ The Content Gateway manager password is set during installation.
○ You can change the ID and password, as well as create and modify user
accounts. See Controlling access to the Content Gateway manager, page
160.
When you on to Content Gateway manager directly, when you click Log Off,
your session is not closed until you close all open browser windows.
On launch, the Content Gateway manager displays the Monitor > My Proxy >
Summary page. This page provides information on the features of your subscription
and details of your Content Gateway system.
● For information on the Monitor tab, see Viewing statistics in the Content Gateway
manager, page 111.
● Click the Configure tab to display the available configuration options.
■ This document provides instructions for the many tasks that can be performed
via the options on the Configure tab.
■ A list describing all of the options available on the Configure tab appears in
Configuration Options.
permanently accept the certificate within the browser. See your browser
documentation for details.
Note
If you are using Internet Explorer, the certificate error will
still be present after you accept the certificate. Close and
reopen your browser to remove the error message.
Windows 7 considerations
If you are using Windows 7, you may need to run the browser as administrator for it to
allow ActiveX controls.
1. Right-click the browser application and select Run as administrator.
2. Log on to the Content Gateway manager and accept the security certificate as
described above.
Important
If Content Gateway is installed on an appliance, see your
appliance documentation for details.
Note
The following procedure applies to Content Gateway
software installations.
If Content Gateway is running on an appliance, see your
Forcepoint appliance documentation.
Note
Ensure that there are no trailing spaces after the word
NULL.
■ Uppercase character
■ Lowercase character
■ Number
■ Special character
Supported characters include:
! #%&'()*+,- ./;<=>?@[ ]^_ {|}~
The following special characters are not supported:
Space $ : ` \ "
8. Click Apply.
The next time you access the Content Gateway manager, you must use the new
password.
Click on Get Help! on any page in the Content Gateway manager to get detailed
information about using the product.
Important
Default Internet Explorer settings may block operation of
the Help system. If a security alert appears, select Allow
Blocked Content to display Help.
If your organization’s security standards permit, you can
permanently disable the warning message on the
Advanced tab of the Tools > Internet Options interface.
(Mark Allow active content to run in files on My
Computer under Security options.)
To access a PDF version of online help, or to access Release Notes, installation and
deployment information, FAQs, tips, and other technical information, go to the
Documentation Library.
Related topic:
● Providing system information, page 15
When Content Gateway is deployed with Forcepoint Web Security, there is no need to
enter a subscription key in the Content Gateway manager. The Forcepoint Web
Security key is automatically shared with Content Gateway.
Note
A key is associated with a Policy Server instance. If you
have multiple keys, make sure that Content Gateway is
connected to the correct Policy Server instance on the
More Details view of the Monitor > My Proxy >
Summary page.
To change which Policy Server instance Content Gateway
uses:
● (Appliance) See your Forcepoint appliance
documentation.
● (Software) Edit the /opt/WCG/websense.ini file to set
the value of PolicyServerIP. After making the change,
stop and start Content Gateway processes:
/opt/WCG/WCGAdmin stop
/opt/WCG/WCGAdmin start
When Content Gateway is deployed with only Forcepoint DLP, you will need to enter
your subscription key manually.
1. Go to the Configure > My Proxy > Subscription > Subscription Management
page of the Content Gateway manager.
2. Enter your key in the field provided.
3. Click Apply.
4. Click Restart on the Configure > My Proxy > Basic > General page.
Gateway can connect to Filtering Service, and define what Content Gateway does
when communication is interrupted.
To do this:
1. Log on to the Content Gateway manager.
2. Go to the Configure > My Proxy > Subscription > Scanning tab and note the
Filtering Service IP address and port. This is information that you entered when
you installed Content Gateway.
3. Review the Communication Timeout setting. This is the time, in milliseconds,
that Content Gateway waits on communication with Policy Server or Filtering
Service before timing out and triggering the Action for Communication Errors
setting.
The default timeout value is 5000 ms (5 seconds). If you change the value, you
must restart Content Gateway.
4. In the Action for Communication Errors section, specify whether to permit or
block traffic if a communication timeout condition occurs. When a timeout
occurs, Content Gateway applies the setting and regularly polls the services to
detect their renewed availability.
5. Use the Scanning Data Files Update section to configure how long to wait after
downloading security analytic data files before they are put into use. Select a
Delay time from the drop-down list.
Keep in mind that the longer the delay, the higher the security risk. The Suspend
updates option is not recommended for extended use. Selecting it will prompt an
alarm as a reminder that downloads have been suspended. It is recommended that
you not clear the alarm until Delay time has been reset.
When a delay time is in place, there may be up to 2 sets of data files present on the
Content Gateway machine.
■ The current set of data files that are being used by the analytics.
■ The set of data files whose complete download is being delayed.
Once the delay period is met, the delayed database is moved to the current set of
files and the delay period is applied to next download.
This feature is typically used for a backup system.
6. When you have finished making changes, click Apply.
After you have installed the proxy, verify that it is processing requests for web
content.
1. Log on to the Content Gateway manager.
2. Go to the Monitor > My Proxy > Summary page to view subscription detail,
scanning data file status, and node details, including the number of objects served,
the hit rate, and other basic proxy service information.
3. Navigate to Monitor > Protocol > HTTP > General to display the General
HTTP Statistics table.
4. Note the current Total Document Bytes statistic in the Client section of the table.
The command-line interface provides a quick way to view proxy statistics and
configure Content Gateway if you do not have access to a browser or if you prefer to
use a UNIX shell-like command interface.
Note
This facility is not available when Content Gateway is
hosted on a Forcepoint appliance. Instead, use the Content
Gateway manager and see your appliance documentation.
You can execute individual commands or script multiple commands in a shell. See
Content Gateway commands, page 279.
1. Become root:
su
2. Change to the Content Gateway bin directory (/opt/WCG/bin). Run Content
Gateway commands from this directory.
■ Commands take the form:
content_line -<command_argument>
■ To view a configuration setting, enter the following command:
content_line -r <var>
Here, <var> is the variable associated with the configuration option (for a list
of the variables, refer to Configuration variables, page 406).
■ To change the value of a configuration setting, enter the following command:
content_line -s <var> -v <value>
Here, <var> is the variable associated with the configuration option and
<value> is the value you want to use.
3. For a list of content_line commands, enter:
content_line -h
Note
If the Content Gateway bin directory is not in your path,
prepend the command with “./”.
For example:
./content_line -h
./WCGAdmin status
Web proxy caching stores copies of frequently accessed web objects (such as
documents, images, and articles) close to users and serves this information to them.
Internet users get their information faster, and Internet bandwidth is freed for other
tasks.
Internet users direct their requests to web servers all over the Internet. For a caching
server to serve these requests, it must act as a web proxy server. A web proxy server
receives user requests for web objects and either serves the requests or forwards them
to the origin server (the web server that contains the original copy of the requested
information).
Content Gateway supports both transparent proxy deployment, in which the user’s
client software (typically a browser) is unaware that it is communicating with a proxy,
and explicit proxy deployment, in which the user’s client software is configured to
send requests directly to the proxy.
Cache requests
Related topics:
● Scheduling updates to local cache content, page 27
● Pinning content in the cache, page 29
● To cache or not to cache?, page 30
● Caching HTTP objects, page 30
● Forcing object caching, page 35
● Caching HTTP alternates, page 36
● Caching FTP objects, page 37
2. Using the web address, the proxy tries to locate the requested object in its object
store (cache).
3. If the object is in the cache, the proxy checks to see if the object is fresh enough to
serve (see Ensuring cached object freshness, page 22). If the object is fresh, the
proxy serves it to the user as a cache hit.
4. If the data in the cache is stale, the proxy connects to the origin server and asks if
the object is still fresh (a revalidation). If the object is still fresh, the proxy sends
the cached copy to the user.
5. If the object is not in the cache (a cache miss) or the server indicates that the
cached copy is no longer valid, the proxy obtains the object from the origin server,
simultaneously streaming it to the user and the cache. Subsequent requests for the
object will be served faster because the object will come directly from the cache.
Content Gateway can store and serve Java applets, JavaScript programs,
VBScripts, and other executable objects from its cache according to the freshness and
cacheability rules for HTTP objects. Content Gateway does not execute the applets,
scripts, or programs. These objects run only when the client system that sent the
request loads them.
Content Gateway does not store partial documents in the cache. Should a client
disconnect while an HTTP or FTP download is underway, Content Gateway continues
the download for up to 10 seconds after the disconnect. If the transfer completes
successfully, Content Gateway stores the object in the cache. If the download does not
complete, Content Gateway disconnects from the origin server and deletes the object
from the cache.
When Content Gateway receives a request for a web object, it tries to locate the
requested object in its cache. If the object is in the cache, the proxy checks to see if the
object is fresh enough to serve.
The protocol determines how the proxy handles object freshness in the cache:
● HTTP objects support author-specified expiration dates. The proxy adheres to
these expiration dates; otherwise, it picks an expiration date based on how
frequently the object is changing and on administrator-chosen freshness
guidelines. In addition, objects can be revalidated, checking with the origin server
if an object is still fresh. See HTTP object freshness, page 23.
● FTP objects stay in the cache for a specified time period. See FTP object
freshness, page 26.
Content Gateway determines whether an HTTP object in the cache is fresh by:
● Checking the Expires or max-age header
Some HTTP objects contain Expires headers or max-age headers that define how
long the object can be cached. Comparing the current time with the expiration
time tells the proxy whether or not the object is fresh.
● Checking the Last-Modified / Date headers
If an HTTP object has no Expires header or max-age header, the proxy can
calculate a freshness limit using the following formula:
freshness_limit =(date - last_modified) * 0.10
Here, date is the date in the object’s server response header, and last_modified is
the date in the Last-Modified header. If there is no Last-Modified header, the
proxy uses the date that the object was written to cache. You can increase or
reduce the value 0.10 (10 percent). See Modifying the aging factor for freshness
computations, page 23.
The computed freshness limit is bound by minimum and maximum boundaries.
See Setting an absolute freshness limit, page 24.
● Checking the absolute freshness limit
For HTTP objects that do not have Expires headers or do not have both Last-
Modified and Date headers, the proxy uses a maximum and minimum freshness
limit. See Setting an absolute freshness limit, page 24.
● Checking revalidate rules in the cache.config file
Revalidate rules apply freshness limits to specific HTTP objects. You can set
freshness limits for objects originating from particular domains or IP addresses,
objects with URLs that contain specified regular expressions, and objects
requested by particular clients, for example. See cache.config, page 383.
If an object does not contain any expiration information, Content Gateway can
estimate its freshness from the Last-Modified and Date headers. By default, the
proxy stores an object for 10% of the time that elapsed since it last changed. You can
increase or reduce the percentage.
1. Open the records.config file located in the Content Gateway config directory.
2. Edit the proxy.config.http.cache.heuristic_lm_factor variable to specify the
aging factor for freshness computations.
The default value is 0.10 (10 percent).
3. Save and close the file.
4. To apply the changes, run the following command from the Content Gateway bin
directory:
content_line -x
Some objects do not have Expires headers or do not have both Last-Modified and
Date headers. You can control how long these objects are considered fresh in the
cache by specifying an absolute freshness limit. A longer lifetime means objects are
kept in the cache longer. Performance can improve if pages are taken from the cache
rather than going out to the network.
1. Navigate to the Configure > Protocols > HTTP > Cacheability tab.
2. In the Minimum Heuristic Lifetime area of the Freshness section, specify the
minimum amount of time that HTTP objects without an expiration date can
remain fresh in the cache before being considered stale. The default value is
3600 seconds (1 hour).
3. In the Maximum Heuristic Lifetime field, specify the maximum amount of time
that HTTP objects without an expiration date can remain fresh in the cache before
being considered stale. The default value is 86400 seconds (1 day).
4. Click Apply.
To ensure freshness of the objects in the cache, configure Content Gateway to cache
only objects with specific headers.
Warning
By default, the proxy caches all objects (including objects
with no headers). As a bet practice, change the default
setting only for specialized proxy situations. If you
configure the proxy to cache only HTTP objects with
Expires or max-age headers, the cache hit rate will be
seriously reduced (very few objects have explicit
expiration information).
1. Navigate to the Configure > Protocols > HTTP > Cacheability tab.
2. Under Behavior > Required Headers, select one of the following:
■ An Explicit Lifetime Header to cache only HTTP objects with Expires or
Cache-Control headers.
■ A Last-Modified Header to cache only HTTP objects with Expires or Last-
Modified headers.
■ No Required Headers to cache all HTTP objects (no specific headers are
required). This is the default.
3. Click Apply.
Cache-Control headers
Help | Content Gateway | v8.4.x
Even though an object might be fresh in the cache, clients or servers might have
constraints that prevent them from retrieving the object from the cache. For example,
a client might request that a object not come from a cache, or if it does, it cannot have
been cached for more than 10 minutes.
Content Gateway bases the servability of a cached object on Cache-Control headers.
Cache-Control headers can appear in both client requests and server responses.
The following Cache-Control headers affect whether objects are served from the
cache:
● The no-cache header, sent by clients, tells the proxy to serve no objects directly
from the cache; always obtain the object from the origin server. You can configure
the proxy to ignore client no-cache headers (see Configuring the proxy to ignore
client no-cache headers, page 31).
● The max-age header, sent by servers, is compared to the object age; if the age is
less than max-age, the object is fresh and can be served.
● The min-fresh header, sent by clients, is an acceptable freshness tolerance. The
client wants the object to be at least this fresh. If a cached object does not remain
fresh at least this long in the future, it is revalidated.
● The max-stale header, sent by clients, permits the proxy to serve stale objects
provided they are not too old. Some browsers might be willing to take slightly old
objects in exchange for improved performance, especially during periods of poor
Internet availability.
The proxy applies Cache-Control servability criteria after HTTP freshness criteria.
For example, an object might be considered fresh, but if its age is greater than its max-
age, it is not served.
When a client requests an HTTP object that is stale in the cache, Content Gateway
revalidates the object, querying the origin server to check if the object is unchanged.
Revalidation results in one of the following:
● If the object is still fresh, the proxy resets its freshness limit and serves the object.
● If a new copy of the object is available, the proxy caches the new object, replacing
the stale copy, and serves the object to the user simultaneously.
● If the object no longer exists on the origin server, the proxy does not serve the
cached copy.
● If the origin server does not respond to the revalidation query, the proxy does not
perform any validation; it serves the stale object from the cache.
By default, the proxy revalidates a requested HTTP object in the cache if it considers
the object to be stale. The proxy evaluates object freshness as described in HTTP
object freshness, page 23. You can configure how often you want the proxy to
revalidate an HTTP object.
1. Navigate to the Configure > Protocols > HTTP > Cacheability tab.
2. In the When to Revalidate area of the Behavior section, select:
■ Never Revalidate to never verify the freshness of a requested HTTP object
with the origin server.
■ Always Revalidate to always verify the freshness of a requested HTTP object
with the origin server.
■ Revalidate if Heuristic Expiration to verify the freshness of a requested
HTTP object with the origin server if the object contains no Expires or
Cache-Control headers. Content Gateway considers all HTTP objects
without Expires or Cache-Control headers to be stale.
■ Use Cache Directive or Heuristic to verify the freshness of a requested
HTTP object with the origin server when Content Gateway considers the
object in the cache to be stale. This is the default.
3. Click Apply.
Note
You can also set specific revalidation rules in the
cache.config file. See cache.config, page 383.
FTP objects carry no time stamp or date information and remain fresh in the cache for
the period of time you specify (from 15 minutes to 2 weeks), after which they are
considered stale.
FTP objects can be requested from either an HTTP client (such as a browser) or an
FTP client (such as WS_FTP). Content Gateway caches only the FTP objects
requested from HTTP clients.
Note
In addition to setting an absolute freshness limit for all
FTP objects requested by HTTP clients, you can set
freshness rules for specific FTP objects in the
cache.config file (see cache.config, page 383).
1. Navigate to the Configure > Protocols > HTTP > Cacheability tab.
2. In the FTP Document Lifetime area of the Freshness section, enter the amount
of time that FTP objects requested by HTTP clients can remain fresh in the cache
before being considered stale. The default value is 259200 seconds (3 days).
3. Click Apply.
To further increase performance and to ensure that HTTP and FTP objects (requested
from HTTP clients) are fresh in the cache, you can use the Scheduled Update option to
configure the proxy to load specific objects into the cache at scheduled times.
To use the Scheduled Update option:
● Specify the list of URLs that contain the objects you want to schedule for update,
the time the update should take place, and the recursion depth for the URL.
● Enable the Scheduled Update option and configure optional retry settings.
See Configuring the Scheduled Update option, page 28, for more information.
Content Gateway uses the information you specify to determine the URLs for which it
is responsible and, for each URL, derives all recursive URLs if applicable. It then
generates a unique URL list. Using this list, the proxy initiates an HTTP GET for each
unaccessed URL, ensuring that it remains within the user-defined limits for HTTP
concurrency at any given time.
Note
The system logs the completion of all HTTP GET
operations, enabling you to monitor the performance of
this feature.
The Force Immediate Update option that enables you to update URLs without waiting
for the specified update time to occur. You can use this option to test your scheduled
The Force Immediate Update option lets you verify the URLs listed in the
update.config file immediately. This option disregards the offset hour and interval set
in the update.config file and updates the URLs listed.
Important
When you enable the Force Immediate Update option, the
proxy continually updates the URLs specified in the
update.config file until you disable the option.
1. Navigate to Configure > Protocols > HTTP Scheduled Update > General.
2. Ensure that Scheduled Update is enabled.
3. Click the Update URLs tab.
4. Enable Force Immediate Update.
5. Click Apply.
The cache pinning option configures Content Gateway to keep certain HTTP objects
(and FTP objects requested from HTTP clients) in the cache for a specified time. Use
this option to ensure that the most popular objects are in the cache when needed and
that the proxy does not delete important objects from the cache.
Note
The proxy observes Cache-Control headers and pins an
object in the cache only if it is cacheable.
d. In the Time Period field, specify the amount of time that the proxy pins the
object in the cache.
In addition, you can add secondary specifiers (such as Prefix and Suffix) to
the rule. All the fields are described under HTTP, page 298.
4. Click Add to add the rule to the list, and then click Apply.
5. Click Close.
6. On the Configure > Subsystems > Cache > General tab, enable Allow Pinning.
7. Click Apply.
When Content Gateway receives a request for a web object that is not in the cache, it
retrieves the object from the origin server and serves it to the client. At the same time,
the proxy checks if the object is cacheable before storing it in its cache to serve future
requests.
Content Gateway determines if an object is cacheable based on protocol:
● For HTTP objects, the proxy responds to caching directives from clients and
origin servers. In addition, you can configure the proxy not to cache certain
objects. See Caching HTTP objects, page 30.
● For FTP objects, the proxy responds to caching directives you specify through
configuration options and files. See Caching FTP objects, page 37.
Content Gateway responds to caching directives from clients and origin servers, as
well as directives you specify through configuration options and files.
This section discusses the following topics:
● Client directives, page 31
● Origin server directives, page 32
● Configuration directives, page 34
Client directives
Help | Content Gateway | v8.4.x
By default, Content Gateway does not cache objects with the following request
headers:
● Cache-Control: no-store
● Cache-Control: no-cache
Note
You can configure the proxy to ignore the Cache-Control:
no-cache header. See Configuring the proxy to ignore
client no-cache headers, page 31.
Note
FTP objects requested from HTTP clients can also contain
Cache-Control: no-store, Cache-Control: no-cache, or
Authorization headers. If an FTP object requested from
an HTTP client contains such a header, the proxy does not
cache it unless explicitly configured to do so.
Important
The default behavior of observing no-cache directives is
appropriate in most cases. Configure Content Gateway to
ignore client no-cache directives only if you are
knowledgeable about HTTP 1.1.
1. Navigate to the Configure > Protocols > HTTP > Cacheability tab.
2. In the Behavior section, enable the Ignore “no-cache” in Client Requests
option.
3. Click Apply.
Note
Certain versions of Microsoft Internet Explorer do not
request cache reloads from transparent caches when the
user presses the browser Refresh button. This can prevent
content from being loaded directly from the origin server.
You can configure Content Gateway to treat Microsoft
Internet Explorer requests more conservatively, providing
fresher content at the cost of serving fewer documents
from the cache. You can configure the proxy to add no-
cache headers to requests from Microsoft Internet
Explorer in the Content Gateway manager (in the
Behavior section of the Configure > Protocols >
HTTP > Cacheability tab).
By default, Content Gateway does not cache objects with the following response
headers:
● Cache-Control: no-store
● Cache-Control: private
● WWW-Authenticate:
Note
You can configure the proxy to ignore WWW-
Authenticate headers. See Configuring the proxy to
ignore WWW-Authenticate headers, page 33.
● Set-Cookie:
● Cache-Control: no-cache
Note
You can configure the proxy to ignore no-cache headers.
See Configuring the proxy to ignore server no-cache
headers, page 33.
Important
If you configure the proxy to ignore no-cache headers, it
also ignores no-store headers.
Important
The default behavior of observing no-cache directives is
appropriate in most cases. Configure the proxy to ignore
origin server no-cache headers only if you are
knowledgeable about HTTP 1.1.
Important
The default behavior of not caching objects with
WWW-Authenticate headers is appropriate in most cases.
Configure the proxy to ignore server WWW-Authenticate
headers only if you are knowledgeable about HTTP 1.1.
You can configure the proxy to ignore origin server WWW-Authenticate headers, in
which case, objects with WWW-Authenticate headers are stored in the cache for
future requests.
To do this:
1. Open the records.config file located in the Content Gateway config directory.
2. Edit the proxy.config.http.cache.ignore_authentication variable to 1 to cache
objects with WWW-Authenticate headers.
3. Save and close the file.
4. To apply the changes, run the following command from the Content Gateway bin
directory:
content_line -x
Configuration directives
Help | Content Gateway | v8.4.x
By default, Content Gateway caches all HTTP objects except those for which you
have set never cache rules in the cache.config file. You can disable HTTP object
caching so that all HTTP objects are served from the origin server and never cached.
1. Navigate to the Configure > Protocols > HTTP > Cacheability tab.
2. Disable HTTP Caching.
3. Click Apply.
Warning
It is recommended that you configure the proxy to cache
dynamic content for specialized proxy situations only.
1. Navigate to the Configure > Protocols > HTTP > Cacheability tab.
2. In the Dynamic Caching section, enable Caching Documents with Dynamic
URLs.
3. Click Apply.
You can force Content Gateway to cache specific URLs (including dynamic URLs)
for a specified duration regardless of Cache-Control response headers.
1. Navigate to the Configure > Protocols > HTTP > Cacheability tab.
2. Click Edit File at the end of the page to display the configuration file editor for
the cache.config file.
3. In the fields provided, supply the following information:
a. From the Rule Type drop-down box, select ttl-in-cache.
b. From the Primary Destination Type drop-down box, select url_regex.
c. In the Primary Destination Value field, specify the URL you want to force
cache.
d. In the Time Period field, specify the amount of time that the proxy can serve
the URL from the cache.
In addition, you can add secondary specifiers (such as Prefix and Suffix) to
the rule. All the fields are described in HTTP, page 298.
4. Click Add, and then click Apply.
5. Click Close.
Some origin servers answer requests to the same URL with a variety of objects. The
content of these objects can vary, according to whether a server delivers content for
different languages, targets different browsers with different presentation styles, or
provides different document formats (HTML, PDF). Different versions of the same
object are termed alternates and are cached by Content Gateway based on Vary
response headers.
■ In the Vary by Default on Other Document Types field, enter the HTTP
header field on which you want to vary if the request is for anything other
than text or images.
Note
If you specify Cookie as the header field on which to vary
in the above fields, make sure that the appropriate option is
enabled under Dynamic Caching > Caching Response to
Cookies.
For example, if you enable Caching Response to
Cookies > Cache Only Image Types you enable Vary
Based on Content Type > Vary by Default on Text,
alternates by cookie will not apply to text.
4. Click Apply.
Note
Large numbers of alternates can affect proxy performance
because all alternates have the same URL. Although
Content Gateway can look up the URL in the index very
quickly, it must scan sequentially through available
alternates in the object store.
1. Navigate to the Configure > Protocols > HTTP > Cacheability tab.
2. In the Maximum Alternates field, enter the maximum number of alternate
versions of an object you want the proxy to cache. The default value is 3.
3. Click Apply.
FTP objects can be requested from either an HTTP client (such as a browser) or an
FTP client (such as WS_FTP).
For FTP objects requested from HTTP clients (FTP over HTTP), perform the
following configuration to determine what the proxy stores in the cache:
● Disable FTP over HTTP caching so that the proxy does not cache any FTP objects
requested from HTTP clients (see Disabling FTP over HTTP caching, page 38).
● Set never cache rules in the cache.config file (see cache.config, page 383).
● Configure the proxy to ignore client Cache-Control: no-store or
Cache-Control: no-cache headers (see Configuring the proxy to ignore client no-
cache headers, page 31).
Caching is not supported for FTP objects requested from FTP clients.
You can configure Content Gateway not to cache any FTP objects that are requested
from HTTP clients by disabling the FTP over HTTP option. The proxy processes the
requests by forwarding them to the FTP server but does not cache any requested
objects.
1. Navigate to the Configure > Protocols > HTTP > Cacheability tab.
2. In the Caching section, disable FTP over HTTP Caching.
3. Click Apply.
If Internet requests are not transparently routed to Content Gateway via a Layer 4
switch or router (see Transparent Proxy and ARM, page 47), traffic must be explicitly
routed to Content Gateway by configuring the client’s Internet browser. (This is
sometimes referred to as an explicit proxy deployment.)
Clients can configure their web browsers in 1 of 3 ways:
● By directly configuring their browsers to send requests directly to the proxy. See
Manual browser configuration, page 39.
● By configuring their browsers to download proxy configuration instructions from
a proxy auto-config (PAC) file. See Using a PAC file, page 40.
● By using Web Proxy Auto-Discovery Protocol (WPAD) to download proxy
configuration instructions from a WPAD server (Microsoft Internet Explorer
only). See Using WPAD, page 42.
In addition, if Content Gateway is configured to proxy FTP traffic, FTP client
applications, such as FileZilla or WS_FTP, must be configured to explicitly send
requests to the proxy. See Configuring FTP clients in an explicit proxy environment,
page 44.
To configure a browser to send requests to Content Gateway, clients must provide the
following information for each protocol they want the proxy to serve to their
browsers:
Important
If Integrated Windows Authentication is configured for
user authentication, the Fully Qualified Domain Name
must be used. Specifying the IP address will result in
authentication failure. See Integrated Windows
Authentication, page 183.
● The proxy server port. The Content Gateway default proxy server port is 8080.
Important
Do not set up the IP address of the Content Gateway proxy
to be a virtual IP address.
Although the Content Gateway manager does not prohibit
the entry of a virtual IP address, the proxy does not
function properly if a VIP is used.
In addition, clients can specify not to use the proxy for certain sites. Requests to the
listed sites go directly to the origin server.
For Microsoft Internet Explorer, proxy configuration settings are in Tools > Internet
Options > Connections > LAN Settings. By default, Microsoft Internet Explorer sets
all protocols to the same proxy server. To configure each protocol separately, click
Advanced in the LAN Settings section. See the browser documentation for complete
proxy configuration instructions.
For Mozilla Firefox, proxy configuration settings are in Tools > Options >
Advanced > Network > Settings > Connection Settings > Manual Proxy
Configuration. By default, you must configure each protocol separately. However,
you can set all protocols to the same proxy server by selecting Use this proxy server
for all protocols.
You do not have to set configuration options on the proxy to accept requests from
manually configured browsers.
A PAC file is a JavaScript function definition that a browser calls to determine how
requests are handled. Clients must specify in their browser settings the URL from
which the PAC file is loaded.
You can store a PAC file on the proxy and provide the URL for this file to your clients.
Note
The PAC file can reside on any server in your network.
Small networks may store the file on the proxy itself, but
large, enterprise-class networks should use a separate
server for storing the PAC file.
If the HTTPS protocol option is enabled, see Enabling SSL
support, page 129, for information on a PAC file to use
with HTTPS traffic.
1. If you have an existing proxy.pac file, replace the proxy.pac file located in the
Content Gateway config directory with your existing file.
2. Navigate to the Configure > Content Routing > Browser Auto-Config > PAC
tab.
3. In the Auto-Configuration Port field, specify the port that Content Gateway uses
to serve the PAC file. The default port is 8083.
4. The PAC Settings area displays the proxy.pac file:
■ If you copied an existing PAC file into the Content Gateway config directory,
the proxy.pac file contains your proxy configuration settings. Check the
settings and make changes if necessary.
■ If you did not copy an existing PAC file into the Content Gateway config
directory, the PAC Settings area is empty. Enter the script that provides the
proxy server configuration settings. A sample script is provided in Sample
PAC file, page 42. See, also, the article titled “PAC File Best Practices” in the
Documentation Library.
5. Click Apply.
6. Go to the Configure > My Proxy > Basic > General tab and click Restart.
7. Inform your users to set their browsers to point to this PAC file.
For example, if the PAC file is located on the proxy server with the hostname
proxy1 and Content Gateway uses the default port 8083 to serve the file, users
must specify the following URL in the proxy configuration settings:
http://proxy1.company.com:8083/proxy.pac
The procedures for specifying the PAC file location vary among browsers.
For Microsoft Internet Explorer:
1. Go to Tools > Internet Options > Connections > LAN Settings.
2. Select Use automatic configuration script.
3. In the Address field, enter:
http://<proxy_host>:8083/proxy.pac
4. Click OK.
For Mozilla Firefox:
1. Go to Tools > Options > Advanced > Network > Connection > Settings.
2. Select Automatic proxy configuration URL field, and enter
http://<proxy_host>:8083/proxy.pac
3. Click Reload, and then click OK.
See the documentation for your browser for details.
The following sample PAC file instructs browsers to connect directly to all hosts
without a fully qualified domain name and to all hosts in the local domain. All other
requests go to the proxy server called myproxy.company.com.
function FindProxyForURL(url, host)
{
if (isPlainHostName(host) || dnsDomainIs(host,
".company.com"))
return "DIRECT";
else
return "PROXY myproxy.company.com:8080; DIRECT";
}
Using WPAD
WPAD allows Internet Explorer to automatically detect a server that can supply it with
proxy server configuration settings. Clients do not have to configure their browsers to
send requests to a proxy server: a single server provides the settings to all clients on
the network.
Note
WPAD is incompatible with transparent proxy
deployments.
When an Internet Explorer browser starts up, it searches for a WPAD server. It
prepends the hostname WPAD to the current fully qualified domain name. For
example, a client in x.y.company.com searches for a WPAD server at
wpad.x.y.company.com. If unsuccessful, the browser removes the bottommost
domain and tries again; for example, it tries wpad.y.company.com. The browser stops
searching when it detects a WPAD server or reaches the third-level domain,
wpad.company.com. The algorithm stops at the third level so that the browser does
not search outside the current network.
Note
By default, Microsoft Internet Explorer are set to
automatically detect WPAD servers. However, browser
users can disable this setting.
When Content Gateway is configured to proxy FTP traffic (see FTP, page 311), also
configure FTP client applications, such as FileZilla or WS_FTP, to send FTP requests
to the proxy. After the initial configuration, users work with the FTP client application
as if no proxy were present.
To connect to an FTP server, 4 pieces of information are usually needed. These pieces
of information are mapped as follows:
From: To:
FTP server hostname FTP proxy hostname
FTP server port number FTP proxy port number (default is 2121)
FTP server username FTP_server_username@FTP_server_hostname
For example: [email protected]
FTP server password FTP server password
Some FTP client applications have a configuration page for specifying FTP proxy
information. Update those settings to point to the Content Gateway FTP proxy. See
your FTP client application documentation.
If the FTP client application is not configured, the user must enter FTP requests as
shown below.
Host: Content Gateway proxy hostname
Username: [email protected]
Password: 123abc
Port: 2121
The transparent proxy option enables Content Gateway to respond to client Internet
requests without requiring users to reconfigure their browsers. It does this by
redirecting the request flow to the proxy after the traffic has been intercepted,
typically by a Layer 4 (L4) switch or router.
In a transparent proxy deployment:
1. The proxy intercepts client requests to origin servers via a switch or router. See
Transparent interception strategies, page 49.
2. The Adaptive Redirection Module (ARM) intercepts incoming packets and
redirects them to the proxy. (The ARM is always enabled.)
3. The proxy receives and begins processing the intercepted client requests. If a
request is a cache hit, the proxy serves the requested object. If a request is a miss,
the proxy retrieves the object from the origin server and serves it to the client.
Important
For transparent proxy configurations with multiple
interfaces or gateways, Content Gateway must have proper
routes to clients and the Internet in the operating system’s
routing table.
For HTTP, the proxy can identify problem clients and servers, and the ARM can
disable interception for those clients and servers, passing their traffic directly to the
origin server. You can also create ARM static bypass rules to exempt clients and
servers from being redirected to the proxy. See Interception bypass, page 71.
Related topics:
● Transparent interception strategies, page 49
● Interception bypass, page 71
● Connection load shedding, page 74
● Reducing DNS lookups, page 74
● Content Gateway IP spoofing, page 77
● Content Gateway support for IPv6, page 82
The ARM inspects incoming packets before a routing decision is made and redirects
the packets to Content Gateway for processing.
The ARM uses iptables, policy routing, and transparent sockets configured during
product installation. The installation process also creates redirection rules to intercept
packets. The ARM is always active.
To ensure that the proxy can serve HTTP, HTTPS, FTP, and DNS requests
transparently, verify the redirection rules in the ipnat.conf file and edit them if
necessary.
● If you are using WCCP for transparent interception, there must be a redirection
rule for every port in every active service group.
● Rules for standard ports are included by default.
To review and edit the ARM redirection rules:
1. Log on to the Content Gateway manager and go to the Configure >
Networking > ARM > General tab.
2. Verify the Redirection Rules (taken from the ipnat.conf file) and make any
needed changes. To change a redirection rule:
a. Click Edit File to open the configuration file editor for the ipnat.conf file.
b. Select the rule you want to edit and modify the appropriate fields.
c. Click Set and then click Apply to apply your changes.
d. Click Close to exit the configuration file editor.
All fields are described in ARM, page 347.
3. If you have made any changes, go to the Configure > My Proxy > Basic >
General tab and click Restart.
Layer 4 switches can redirect supported protocols to the proxy, while passing all other
Internet traffic directly to its destination, as shown below for HTTP.
Layer 4 switches offer the following features, depending on the particular switch:
● A Layer 4 switch that can sense downed hosts on the network and redirect traffic
adds reliability.
● If a single Layer 4 switch feeds several proxy servers, the switch handles load
balancing among the Content Gateway nodes. Different switches might use
different load-balancing methods, such as round-robin or hashing. If a node
becomes unavailable, the switch redistributes the load. When the node returns to
service, some switches return the node to its previous workload, so that the node
cache need not be repopulated; this feature is called cache affinity.
Note
It is recommended that you do not enable Content
Gateway virtual IP failover when a switch is providing
load balancing in a cluster configuration.
Related topics:
● WCCP v2 setup outline, page 52
● WCCP v2 supported features, page 53
● ARM bypass and WCCP, page 53
● WCCP load distribution, page 54
● Configuring WCCP v2 routers, page 55
● Enabling WCCP v2 in Content Gateway, page 60
● ARM bypass and WCCP, page 53
Important
The network clients, Content Gateway proxy servers, and
destination web servers (default gateway) must reside on
separate subnets.
4. The ARM redirects packets to the client. As a result, the user sees the response as
if it had been sent directly from the origin server.
See Enabling WCCP v2 in Content Gateway, page 60, and The Content Gateway
ARM, page 48.
3. Validate the configuration with test traffic.
If Content Gateway has an ARM bypass rule (discussed in Interception bypass, page
71), Content Gateway forwards particular client requests directly to the origin server,
bypassing the proxy.
Bypassed requests are unchanged by the ARM.
With WCCP v2, you can exclude certain router interfaces from redirection. Content
Gateway ARM bypass rules work only if you exclude the router interface that
Content Gateway is connected to from WCCP redirection. You do this on the
router by selecting the interface connected to Content Gateway and issuing the router
configuration command ip wccp redirect exclude in. This causes the router to
exclude traffic inbound on the specified interface from all redirection rules.
The WCCP protocol provides the assignment method for dynamic symmetric and
asymmetric load distribution in a cluster. WCCP detects node failures and performs
redistribution based on the configuration communicated to it by Content Gateway.
● Load distribution is configured in Content Gateway Manager and is pushed to the
WCCP devices.
● Load distribution is configured per service group.
For each service group:
■ Participating cluster members must be registered to the service group. (The
WCCP device makes no decisions about load balancing.)
■ The HASH or MASK assignment method is selected. HASH is typically used
with the GRE forward/return method, and MASK with the L2 forward/return
method.
Important
MASK was developed specifically for the Cisco Catalyst
series switches, and is one of the key characteristics that
enable WCCP interception to be performed completely in
hardware on these platforms. It should be used only with
devices for which there is documented support.
members based on the load distribution configuration. When a cluster member returns
to service and is detected by the WCCP device, load distribution is, again,
automatically adjusted based on the configuration.
For configuration steps, see Configuring service groups in the Content Gateway
manager, page 61.
Important
Weight is only useful if the Synchronize in the Cluster
option is disabled. See Configuring service groups in the
Content Gateway manager, page 61.
The weight value is unique to each service group and node. The weight value does not
propagate around the cluster and must be set individually on every node in the cluster.
The value of weight, relative to the settings on other cluster members, determines the
proportion of traffic that WCCP directs to the node.
By default, weight is set to 0, which results in equal distribution to all cluster
members.
To achieve asymmetric distribution, weight is set relative to other members of the
cluster. For example, assume a cluster of 3 nodes:
If Node1 goes offline, Node2 and Node3 will get an equal amount of traffic. If Node3
goes offline, Node1 will get two thirds of the traffic and Node2 will get one third of
the traffic.
Because the weight value is relative to the settings on other cluster nodes, the same
distribution as above can be achieved with weight values of 10, 5, 5. (The valid range
of weight is 0-255.)
If weight is changed from its default value of 0, it should be configured on all nodes in
the cluster.
Consult the documentation for your WCCP v2 device, as well as the manufacturer’s
support site, for device configuration and performance information.
Note
For instructions on configuring your specific router, please
refer to the documentation provided by your hardware
vendor. For Cisco routers, see http://www.cisco.com/
cisco/web/psa/default.html?mode=prod and search for
your IOS and device version, for example, IOS 12.4.
4. When you are done configuring the router, you must also configure and enable
WCCP in the Content Gateway manager. See Enabling WCCP v2 in Content
Gateway, page 60.
WCCP uses service groups to specify the traffic that is redirected to Content Gateway
(and other devices).
● A service group can intercept one or more protocols on one or more ports.
● Service groups are assigned a unique integer identifier (ID) from 0 to 255.
● Service groups IDs are user defined; they do not have a default port or traffic type.
The following table illustrates a set of service group definitions that are often found in
networks. If you are configuring for IP spoofing, see the table in Content Gateway IP
spoofing, page 77, for common reverse service group IDs.
The best practice is to configure the routers first and Content Gateway second.
Follow the instructions in your router documentation for specifics, but in general:
1. To see what has been configured on the router for WCCP, enter:
show running-config | include wccp
2. To enable WCCP v2, enter:
ip wccp version 2
3. If you used another proxy cache with your router prior to Content Gateway,
disable the service ID that was previously used. For example, if you have a Cisco
router, disable the service ID web-cache as follows:
no ip wccp web-cache
4. Specify the service group IDs you will use with Content Gateway. For the specific
commands to use, see your router documentation.
You must configure each service group supported by the router individually. You
cannot configure a router globally.
For each WCCP v2 service group that you configure, you must enable WCCP
processing.
WCCP v2 routers contain multiple network interfaces, including:
● one or more interfaces that receive inbound (ingress) client traffic
● one or more interfaces connected to Content Gateway
● an interface dedicated to outbound (egress) traffic that is aimed at the Internet
Following are some guidelines for enabling WCCP processing for a service group on
a router. Consult the procedures in your router documentation for specifics.
1. Turn on the WCCP feature:
ip wccp <service group ID> password [0-7] <passwd>
2. On the router or switch interface, enable redirection for incoming (ingress)
packets or outgoing (egress) packets.
Note
Where your hardware and network topology support it, it
is recommended that redirection be performed on the
ingress interface (using the “redirect in” commands).
The following are examples. Be sure to substitute the service group IDs that you
have established on your router(s).
First, select the interface to configure:
interface <type> <number>
Second, establish your redirection rules:
ip wccp <service group ID> redirect in
Examples for inbound redirection:
Run these commands for each protocol that you want to support, but only on the
interfaces dedicated to inbound (ingress) traffic.
For example, to turn on redirection of HTTP destination port traffic, enter:
ip wccp 0 redirect in
To turn on redirection of HTTPS destination port traffic:
ip wccp 70 redirect in
To turn on redirection of FTP destination port traffic enter:
ip wccp 5 redirect in
To turn on redirection of HTTP source port traffic, which is required for IP
spoofing, enter:
ip wccp 20 redirect in
Examples for outbound redirection:
Run these commands for each protocol that you want to support, but only on the
interfaces dedicated to outbound (egress) traffic.
First, select the interface to configure:
interface <type> <number>
Second, establish your redirection rules:
ip wccp <service group ID> redirect out
For example, to turn on redirection for HTTP, enter:
ip wccp 0 redirect out
To turn on redirection for HTTPS:
ip wccp 70 redirect out
If you need to disable WCCP processing for any reason, issue this command to turn
off the WCCP feature:
no ip wccp <service group ID> password [0-7] <passwd>
If you are running WCCP v2, you can enable security on the Content Gateway node so
that the proxy and your routers can authenticate each other. You must individually
enable security for each service group that the router supports. You cannot configure a
router globally as you would Content Gateway.
You enable the security option and provide the authentication password in the Content
Gateway manager.
The authentication password you specify must match the authentication password
configured on the router for each service group being intercepted. The following
procedure provides an example of how to set an authentication password for different
service groups.
1. Telnet to the router and switch to Enable mode.
2. At the prompt, enter the following command to configure the router from the
terminal:
configure terminal
3. If you defined a password when you enabled WCCP on the router, skip to step 4.
Otherwise, enter the following command for each service group that the router
intercepts:
<hostname>(config)# ip wccp <service_group> password <pwd>
Here, <hostname> is the host name of the router you are configuring,
<service_group> is the service group ID (for example, 0 for HTTP), and <pwd> is
the password you want to use to authenticate Content Gateway. This password
must match the password you specify in the Content Gateway configuration for
this service group.
Related topics:
● Configuring WCCP v2 routers, page 55
● Configuring service groups on the WCCP device
● Enabling WCCP processing for a service group
● Enabling WCCP v2 security on the router, page 60
After you have configured your WCCP v2 routers, these steps remain:
1. Enabling WCCP in the Content Gateway Manager:
a. Go to the Configure > My Proxy > Basic > General tab.
b. Under Features > Networking, locate WCCP and click On, then Apply. Do
not restart Content Gateway.
2. Configuring service groups in the Content Gateway manager.
3. Restarting Content Gateway.
Important
Before you restart Content Gateway, make sure that your
configuration meets the following requirements:
● Cisco IOS devices are running a very recent version of
IOS with all appropriate patches applied.
● WCCP routers are programmed with the correct
service groups and other features.
Every WCCP service group that redirects traffic to a Content Gateway proxy must
have a corresponding service group defined for it in the Content Gateway server or
cluster.
To define service groups:
1. Go to the Configure > Networking > WCCP page.
2. Review the existing entries in the Service Groups table and click Edit File to
add, modify, delete, or reorder service groups.
■ Entries are stored in the wccp.config file.
■ Click Refresh to prompt the Content Gateway manager to reread the
wccp.config file and update the table.
■ Detailed instructions can be found in Configuring a service group (editing
wccp.config), page 62.
3. If Content Gateway is configured in a cluster, under Synchronize in the Cluster,
Select Enabled (default) or Disabled. (The value of this option is always
synchronized in the cluster.)
■ When this option is enabled, the WCCP configuration (stored in wccp.config)
is synchronized in the cluster and configuration changes can be made on any
node in the cluster.
■ When this option is disabled, the WCCP configuration is not synchronized in
the cluster and changes to the WCCP configuration must be made
individually on each node. A common use case for this is to control which
service groups are enabled/disabled on each node, and/or to use proportional
load distribution using weight.
■ If this option is disabled, and then later enabled, the configuration on the node
on which the administrator enables the option is used to initially synchronize
the cluster.
Caution: When Synchronize in the Cluster is disabled, you must visit each
node in the cluster to examine and maintain your WCCP configuration. This can
also make WCCP troubleshooting more difficult.
Important
Every port in the service group must have a corresponding
ARM redirection rule to redirect the traffic to Content
Gateway. See The Content Gateway ARM.
f. From the drop down list, select the Network Interface on the Content
Gateway host system that this service group will use.
● The Packet Return Method specifies the method used to return traffic back to
the WCCP router.
Important
If you change the forward/return method configuration
while there is an active connection with the WCCP device,
in order to re-negotiated the method you must force the
current connection to terminate. Typically, this means
turning off the service group on the WCCP device for 60
seconds. See the documentation for your WCCP device.
Important
If multiple proxies are installed in your environment, each
with WCCP enabled, but configured with different Packet
Forward and Packet Return Methods, traffic may not be
processed. Some routers support only a single Packet
Forward Method within a group and may forward
packets to the other proxies using a method they do not
support.
Typically the router supports only one method, and the forward and return methods
match.
1. If traffic is routed to the proxy by a Cisco ASA firewall, in the Special Device
Profile drop down box select ASA Firewall. When this option is selected, GRE
is automatically selected for both Packet Forward Method and Packet Return
Method. These settings cannot be changed.
2. If traffic is routed to the proxy by a router or switch, select the Packet Forward
Method (L2 or GRE) and Packet Return Method that matches the capabilities
and position of your router or switch.
If Content Gateway is configured with a Forward/Return method that the router
does not support, the proxy negotiates the method supported by the router.
■ If L2 is selected, L2 is automatically selected as the return method (GRE is
not an option).
Important
Selecting L2 requires that the router or switch be
Layer 2-adjacent (in the same subnet) as Content Gateway.
■ If GRE is selected, for each router in the service group a unique Content
Gateway tunnel endpoint IP address must be specified in the WCCP Routers
section (see the “Provide router information” step, below).
Important
GRE cannot be used with WCCP multicast mode.
Important
GRE return, as documented by Cisco (see this site), is
fully functional in all deployments. GRE enhanced tunnel
return, in which the proxy forwards traffic back to the
router, is also available. Contact Technical Support for info
on how to enable the functionality.
Important
When the value of weight is greater than 0 on any member
of the cluster, any member of the cluster with a weight of 0
receives no traffic. If you plan to use weight, be sure to set
a weight on every member of the cluster.
For more information about load distribution, see WCCP load distribution, page
54.
3. Specify a Reverse Service Group ID for IP spoofing.
When IP spoofing is enabled, you must define a reverse service group for each
HTTP and HTTPS forward service group.
Note
Only HTTP and HTTPS are supported for IP Spoofing.
Using the specified ID, Content Gateway creates a reverse service group that is a
mirror of the forward service group. For example, if the forward service group has
assignment method based on destination IP address, the reverse service has an
assignment method based on the source IP address.
Note
IP spoofing is not supported with service groups that use a
hashing assignment method with both destination and
source attributes. If IP spoofing is enabled on such a
service group, an alarm is raised and IP spoofing is
disabled.
Note
It may take up to a minute for the router to report that a
new proxy server has joined a service group.
1. To use optional WCCP authentication, under Security, select Enabled and enter
the same password used for service group authentication on the router. See
Enabling WCCP v2 security on the router, page 60.
2. To run in multicast mode, under Multicast, select Enabled and enter the multicast
IP address. The multicast IP address must match the multicast IP address specified
on the router. See Transparent interception and multicast mode, page 67.
Important
GRE packet Forward/Return method cannot be used with
multicast mode.
■ If ping doesn’t return a response, you need to define a GRE Tunnel Next Hop
to that router. Intervening routers must have a route to the WCCP router, or a
next hop.
Note
WCCP routers that have multiple interfaces assign the
Router ID to the interface with the highest numeric value
IP address. Content Gateway must be able to connect to
the router ID to negotiate the method. To ensure
connectivity and that the router ID doesn’t change
unexpectedly, it is a best practice to make the router
loopback address the highest IP address. This also ensures
that traffic and statistics reported on the Monitor >
Networking > WCCP page are reported against a known
router ID.
Note
To check that the router is sending traffic to the proxy,
examine the statistics in the Content Gateway manager
Monitor pane. For example, check that the Objects
Served statistic in the My Proxy > Summary section
increases.
To configure Content Gateway to run in multicast mode, you must enable multicast
mode and specify the multicast IP address in the Content Gateway manager.
Important
GRE packet Forward/Return method cannot be used with
multicast mode.
In addition, you must set the multicast address on your routers for each service group
being intercepted (HTTP, FTP, DNS, and SOCKS). The following procedure provides
an example of how to set the multicast address for different service groups on a
WCCP v2-enabled router.
Instead of the WCCP protocol, you can use the policy routing capabilities of a router
to send traffic to Content Gateway. WCCP or a Layer 4 switch are generally
preferable to this configuration because policy-based routing has a performance
impact on the router, and policy-based routing does not support load balancing or
heartbeat messaging.
● All client Internet traffic is sent to a router that feeds Content Gateway.
● The router sends port 80 (HTTP) traffic to the proxy and sends the remaining
traffic to the next hop router.
● The ARM redirects intercepted requests to Content Gateway.
● Web objects to be served transparently are redirected by the ARM on the return
path to the client, so that the documents appear to have come from the origin
server.
A Content Gateway cluster with virtual IP failover adds reliability; if one node fails,
another node can take up its transparency requests. See Virtual IP failover, page 90.
You can deploy Content Gateway without adding routers or switches by using routing
software on the Content Gateway node. In this case, Content Gateway is a software
router and directs all traffic through the proxy machine. This solution can be useful in
low-traffic situations, where the performance cost of using the proxy machine as a
router is not high.
On Linux systems, you can use the routed and gated daemons as a software-based
routing solution.
● The routed daemon is a bundled part of all normal Linux distributions.
● The gated daemon is an extensible commercial software package from the Merit
GateD Consortium.
When you use routing software with Content Gateway:
● All Internet traffic goes through Content Gateway from machines behind it in the
network.
● The routing software routes all non-transparent requests to the Internet; it routes
port 80 HTTP requests to the proxy cache.
● The ARM redirects intercepted requests into proxy requests.
● Web objects to be served transparently are redirected by the ARM on the return
path to the client, so that the objects appear to have come from the origin server.
Note
Although Content Gateway machines can function as
routers, they are not expressly designed to be routers. For
reliability, you can use a Content Gateway cluster with the
virtual IP failover option. If one node fails, another cluster
node takes over. (See Virtual IP failover, page 90.) The
Content Gateway cluster failover mechanism is similar to
the Hot Standby Router Protocol (HSRP).
You can configure Content Gateway to serve only transparent requests and prevent
explicit proxy requests from being served in the following ways:
● You can control client access to Content Gateway by specifying ranges of IP
addresses that are allowed to connect to the proxy. If Content Gateway receives a
request from an IP address not listed in a specified range, it discards the request.
See Controlling client access to the proxy, page 159.
● If you do not know the ranges of client IP addresses allowed to access Content
Gateway, you can add rules to the ipnat.conf file on the Configure >
Networking > ARM > General tab in the Content Gateway manager so that only
requests that have been redirected by your Layer 4 switch or WCCP router reach
the proxy port.
To make a transparent-only Content Gateway server, add rules in the ipnat.conf
file before the normal redirect service rule to redirect explicit proxy traffic to a
port on which no service is listening.
For example, if you want Content Gateway to ignore explicit HTTP requests, add
rules above the normal HTTP redirect rule in the ipnat.conf file as shown below:
rdr hme0 <ipaddress> port 80 -> <ipaddress> port
<port_number> tcp
rdr hme0 <ipaddress> port 8080 -> <ipaddress> port
<port_number> tcp
rdr hme0 0.0.0.0/0 port 80 -> <ipaddress> port 8080 tcp
Here, <ipaddress> is the IP address of your Content Gateway system and
<port_number> is a port number on which no service is listening.
Add equivalent rules to the ipnat.conf file for each protocol service port or
separate network interface to be served. After you make changes to the ipnat.conf
file, you must restart the proxy.
● If your Content Gateway system has multiple network interfaces or if you
configure the Content Gateway operating system to use virtual IP addresses, you
can give Content Gateway 2 IP addresses. One address must be the real address
that the proxy uses to communicate with origin servers and the other a private IP
address (for example 10.0.0.1) for WCCP or switch redirection. After you
configure the IP addresses, you must add the following variables to the end of the
records.config file. Replace <private_ipaddress> with the private IP address used
for WCCP or switch redirection and <real_ipaddress> with the IP address the
proxy uses to communicate with origin servers.
LOCAL proxy.local.incoming_ip_to_bind STRING
<private_ipaddress>
LOCAL proxy.local.outgoing_ip_to_bind STRING
<real_ipaddress>
Interception bypass
A small number of clients and servers do not work correctly with web proxies. Some
reasons include:
● Client software irregularities (customized, non-commercial browsers)
● Server software irregularities
● Applications that send non-HTTP traffic over HTTP ports as a way of defeating
security restrictions
● Server IP address authentication (the origin server limits access to a few client IP
addresses, but the Content Gateway IP address is different, so it cannot get access)
This is not in frequent use because many ISPs dynamically allocate client IP dial-
up addresses, and more secure cryptographic protocols are now more often used.
Web proxies are very common in corporate and Internet use, so interoperability
problems are rare. Nonetheless, Content Gateway contains an adaptive learning
module that recognizes interoperability problems caused by transparent proxy
processing and automatically bypasses the traffic around the proxy server without
operator intervention.
Content Gateway follows 2 types of bypass rules:
● Dynamic (also called adaptive) bypass rules are generated dynamically if you
configure Content Gateway to bypass the cache when it detects non-HTTP traffic
on port 80 or when it encounters certain HTTP errors. See Dynamic bypass rules,
page 72.
● Static bypass rules must be manually configured in the bypass.config file. See
Static bypass rules, page 73.
Note
Do not confuse ARM bypass rules with client access
control lists. Bypass rules are created in response to
interoperability problems. Client access control is simply
restriction of the client IP addresses that can access the
proxy, as described in Controlling client access to the
proxy, page 159.
The proxy can be configured to watch for the following protocol interoperability
errors and configure the ARM to bypass the proxy for the clients and servers causing
the errors.
In this way, the small number of clients or servers that do not operate correctly
through proxies are auto-detected and routed around the proxy caching server so that
they can continue to function (but without caching).
For example:
● When Content Gateway is configured to bypass on authentication failure (403
Forbidden), if any request to an origin server returns a 403 error, Content
Gateway generates a destination bypass rule for the origin server’s IP address. All
requests to that origin server are bypassed until you restart the proxy.
● If the ARM detects that a client is sending a non-HTTP request on port 80 to a
particular origin server, Content Gateway generates a source/destination rule. All
requests from that particular client to the origin server are bypassed; requests from
other clients are not bypassed.
You can configure bypass rules to direct requests from certain clients or to particular
origin servers around the proxy. Unlike dynamic bypass rules that are purged when
you restart the proxy, these static bypass rules are saved in a configuration file.
You can configure 3 types of static bypass rules:
● Source bypass, in which Content Gateway bypasses a particular source IP address
or range of IP addresses. For example, you can use this solution to bypass clients
who want to opt out of a caching solution.
● Destination bypass, in which Content Gateway bypasses a particular destination
IP address or range of IP addresses. For example, these could be origin servers
that use IP authentication based on the client’s real IP address. Destination bypass
rules prevent Content Gateway from caching an entire site. You will experience
hit rate impacts if the site you bypass is popular.
● Source/destination pair bypass, in which Content Gateway bypasses requests that
originate from the specified source to the specified destination. For example, you
could route around specific client-server pairs that experience broken IP
authentication or out of band HTTP traffic problems.
Source/destination bypass rules might be preferable to destination rules because
they block a destination server only for those particular users that experience
problems.
To configure static bypass rules, edit the bypass.config file (See bypass.config, page
381).
The ARM has a supporting utility called netcontrol that allows you to view the
current dynamic and static bypass rules.
To view all current dynamic and static bypass rules:
1. Log on to a Content Gateway node and then change directory to the Content
Gateway bin directory (/opt/WCG/bin).
2. Enter the following command at the prompt and press Return:
./netcontrol.sh -B
All current static and dynamic bypass rules are displayed on screen. The rules are
sorted by IP address. You can direct the output of netcontrol to a file and save it.
The load shedding feature prevents client request overloads. When there are more
client connections than the specified limit, the ARM forwards incoming requests
directly to the origin server. The default client connection limit is 1 million
connections.
1. In the Content Gateway manager, navigate to the Configure > Networking >
Connection Management > Load Shedding page.
2. In the Maximum Connections field, specify the maximum number of client
connections allowed before the ARM starts forwarding requests directly to the
origin server.
3. Click Apply.
4. Navigate to the Configure > My Proxy > Basic > General tab and click Restart.
If you are running Content Gateway in transparent proxy mode, you can enable the
Always Query Destination option to reduce the number of DNS lookups and
improve response time. When enabled, the Always Query Destination option
configures the proxy to always obtain the original destination IP address of incoming
requests from the ARM. Content Gateway then uses that IP address to determine the
origin server instead of doing a DNS lookup on the hostname of the request. Because
the client already performed a DNS lookup, Content Gateway does not have to.
When Always Query Destination is enabled, the value defined for the variable
proxy.config.arm.use_hostname_for_wisp_and_reporting determines whether IP
address or hostname is captured for reporting purposes.
Important
It is recommended that you do not enable the Always
Query Destination option if Content Gateway is running in
both explicit and transparent proxy mode. In explicit proxy
mode, the client does not perform a DNS lookup on the
hostname of the origin server, so the proxy must perform a
DNS lookup.
Also, the category lookup is performed based on the IP
address, which is not always as accurate as a URL-based
lookup.
In addition, do not enable the Always Query Destination
option if you want domain names, rather than IP addresses,
in Forcepoint Web Security transaction logs.
IP spoofing is sometimes used to support upstream activities that require the client IP
address or a specific IP address. It also results in origin servers seeing the client or
specified IP address instead of the proxy IP address (although the proxy IP address
can be a specified IP address; more below).
Content Gateway IP spoofing support has the following features and restrictions:
● IP spoofing is supported for HTTP and HTTPS traffic only.
● When IP spoofing is enabled, it is applied to both HTTP and HTTPS. It cannot be
configured for only one protocol.
● HTTPS traffic is spoofed whether SSL support is enabled or not.
● IP spoofing relies on the ARM.
Warning
Deploying IP spoofing requires precise control of the
routing paths on your network, overriding the normal
routing process for traffic running on TCP port 80 and
443. When configured with either transparent or
explicit proxy, return traffic must be routed back to the
proxy.
For assistance, please contact your network equipment
vendor or Technical Support.
With IP spoofing enabled, traditional debugging tools such
as traceroute and ping have limited utility.
Important
For a discussion of how the proxy kernel routing table
impacts transparent proxy deployment, see the Solution
Center article titled, Web sites in the Static or Dynamic
bypass list fail to connect.
Range-based IP spoofing
Range-based IP spoofing supports groupings of clients (IP addresses and IP address
ranges) that are mapped to specified IP addresses.
Among other uses, range-based IP spoofing facilitates:
● The delivery of web-hosted services when the identification is by source IP
address. For example, to receive a web-hosted service, an organization might be
required to identify membership to the service via a known IP address.
● IP address-based authentication with an external service when a unique IP address
represents a group of users.
● A way to configure traditional IP spoofing for some clients (source IP addresses
that don’t match any group are spoofed with their own IP address), range-based IP
spoofing for some clients, and standard proxy IP address substitution for some
clients. The latter is done by creating a group that specifies the proxy IP address.
Important
Range-based IP Spoofing is not supported on many older
versions of Cisco IOS firmware. To avoid problems,
update your Cisco device to the latest firmware.
IP Spoofing is supported for IPv6. However, range-based
IP Spoofing is not supported for IPv6.
7. A proxy response to the client is generated and returned to the client on the proxy-
to-client TCP connection.
Note
When IP spoofing is enabled, the proxy advertises a
reverse service group for each enabled WCCP service. The
reverse service group must be applied along the return path
of the proxy.
WCCP service group IDs are user defined and must be programmed on the WCCP
devices and in Content Gateway (see Configuring service groups on the WCCP device
and Configuring service groups in the Content Gateway manager).
The following definitions are suggested.
Policy-based routing (PBR) uses access control lists (ACL) to identify and redirect
flows. In a PBR deployment, all of the configuration is done on the router and there is
no corresponding Content Gateway configuration. PBR deployments have to redirect
traffic returning from origin servers from port 80 and 443 to Content Gateway.
Configuring IP spoofing
● To configure the proxy to use the IP address of the client for IP spoofing, see
Configure basic IP spoofing, page 80.
● To configure the proxy to use a specified IP address for IP spoofing, see Configure
range-based IP spoofing, page 81.
Contact your network equipment vendor or Technical Support for any needed
assistance.
Warning
The ARM is a critical component of Content Gateway that
should never be disabled. If it is disabled while IP spoofing
is enabled, client requests receive a “Cannot display Web
page” error and an error message is recorded in the /var/
log/messages directory.
For information about configuring WCCP routers, see Configuring WCCP v2 routers,
page 55.
Important
Range-based IP spoofing is not supported for IPv6.
Warning
If any of the formatting is invalid, all of the data in that
row is cleared.
Forcepoint security solutions, including Content Gateway, provide support for IPv6.
Important
In transparent proxy deployments, support requires WCCP
v2.01. If you use a Cisco router, it must be version 15.4(1)
or later.
● Client IPv6 addresses and address ranges to allow or restrict access to the Content
Gateway manager (mgmt_allow.config)
● IPv6 Primary Destination value and Source IP values in proxy filtering rules
(filter.config), cache rules (cache.config), and parent proxy servers in a chain
(parent.config)
● IPv6 addresses in the SSL Incident List
● SNMP traps and counters for IPv6 data
Limits and restrictions:
● IPv6-only internal networks are not supported
● IPv4 must be used to communicate among all Forcepoint components, including
other members of a Content Gateway cluster (multicast address)
● With all user authentication, the domain controllers must be reachable on an IPv4
address
● Range-based IP Spoofing is not available for IPv6.
● SOCKS proxy is not supported
● IPv6 support is not available for FTP passive mode with the transparent proxy.
● IPv6 only clients do not display a block page correctly. The user is blocked from
the site as expected but will receive a browser error rather than a block page.
Dual-stack IPv6 clients receive the normal block page.
IPv6 proxy statistics:
Content Gateway tracks IPv6 traffic. View statistics on the Monitor > Networking >
System page.
Effect of IPv6 on Event logs:
When IPv6 is enabled, Event log entries are normalized to IPv6 format. For example,
“10.10.41.200” is logged as “::ffff:10.10.41.200”.
To filter on a client at “10.10.41.200” in a custom log, requires the following filter:
<LogFilter>
<Name = "IPv6_Test_Machine"/>
<Condition = "chi MATCH ::ffff:10.10.41.200"/>
<Action = "ACCEPT"/>
</LogFilter>
2. Navigate to the Configure > My Proxy > Basic > General tab.
3. Under Networking, locate the IPv6 row and select On.
Once IPv6 support is enabled, in any field that accepts an IPv6 address, the address
can be entered in any format that conforms to the standard. For example:
● Leading zeros within a 16-bit value may be omitted
● One group of consecutive zeros may be replaced with a double colon
When IPv6 is disabled, IPv6 entry fields are hidden from view and IPv6 values are
deleted from configuration files.
When the DNS Resolver is used, go to the Configure > Networking > DNS
Resolver page to set an IPv4 or IPv6 preference. IPv4 is the default.
Related topics:
● Changing clustering configuration, page 86
● Adding nodes to a cluster, page 88
● Deleting nodes from a cluster , page 89
● Virtual IP failover, page 90
Content Gateway scales from a single node to a cluster of 2 or more nodes, with a
maximum recommended limit of 16. This allows you to quickly increase capacity and
improve system performance and reliability.
Note
For assistance with scaling your deployment, contact your
Forcepoint account representative.
● Content Gateway detects the addition and deletion of nodes in the cluster and can
detect when a node is down.
● You can add or delete a node from a cluster at any time.
● When you remove a node from the cluster, Content Gateway removes all
references to the missing node.
● Restarting a node in the cluster causes all nodes in the cluster to restart.
● When the Virtual IP failover feature is enabled, the live nodes in a cluster can
assume a failed node’s traffic.
● Nodes in a cluster automatically share configuration information except for the
following:
■ Filtering Service and Policy Service IP addresses are not propagated around
the cluster.
■ In transparent proxy deployments with WCCP, the service group enabled/
disabled state and weight settings are not propagated. See Transparent
interception with WCCP v2 devices, page 51.
■ When SSL support is enabled, the Dynamic Incident List is not propagated
around the cluster.
Content Gateway uses a proprietary protocol for clustering, which is multicast for
node discovery and heartbeat, and unicast for all data exchange within the cluster.
Important
It is recommended that a dedicated network interface be
used for Content Gateway cluster communication, except
when the host is a Forcepoint appliance, in which case the
P1 interface is recommended.
Important
In a proxy hierarchy, the nodes in the cluster cannot be a
mixture of HTTP parents and children.
Management clustering
In management clustering mode you can administer all Content Gateway nodes at the
same time because cluster nodes share configuration information.
● Content Gateway uses a multicast management protocol to maintain a single
system image of all nodes in the cluster.
● Information about cluster membership, configuration, and exceptions is shared
across all nodes.
● The content_manager process propagates configuration changes to cluster nodes.
● When the HTTPS option is enabled (SSL support), its settings also propagate
around the cluster, except for the Dynamic Incident List.
Clustering is usually configured when you install the proxy. You can, however,
configure clustering afterward, or at any time, in the Content Gateway manager.
1. Go to the Configure > My Proxy > Basic > Clustering tab.
2. Under Cluster > Type:
■ Select Management Clustering to include this proxy in a cluster.
■ Select Single Node if this node is not part of a cluster.
3. Under Interface, enter the name of the network interface. This is the interface used
by Content Gateway to communicate with other nodes in the cluster.
Warning
Ensure that the multicast IP address does not conflict with
the address used by any other application or service.
If there is a conflict and the Content Gateway node is
allowed to restart, it will fail to initialize the interface and
the Content Gateway instance will shut down. You can
verify the condition by examining /var/log/messages and
looking for a message similar to:
[LocalManager::initCCom] Unable to find
network interface eth2.#011 Exiting
To correct the problem, identify a unique multicast IP
address that will work for all members of the cluster and
do one of the following:
● If Content Gateway is on an appliance, see the
Forcepoint Appliances CLI Guide.
● If Content Gateway is installed on a Linux server:
1. Log on to the server and go to /opt/WCG/config.
2. Edit (vi) records.config.
3. Find proxy.config.cluster.mc_group_addr and
assign it the value of the multicast IP address.
4. Save and close the file.
5. Check each member of the cluster to ensure that
they are all using the same multicast IP address.
6. Restart the node.
7. Click Apply.
Important
Content Gateway does not apply the clustering mode
change to all of the nodes in the cluster. You must change
the clustering mode on each node individually.
Content Gateway detects new Content Gateway nodes on your network and adds them
to the cluster, propagating the latest configuration information to the newcomer. This
provides a convenient way to bootstrap new machines.
To connect a node to a Content Gateway cluster, you need only install Content
Gateway software on the new node, making sure during the process that the cluster
name and port assignments are the same as those of the existing cluster. In this way,
Content Gateway automatically recognizes the new node.
Important
The nodes in a cluster must be homogeneous; each node
must be on the same hardware platform, each must be on
the same operating system version, and Content Gateway
must be installed in the same directory (/opt/WCG).
4. Set the Multicast Group Address to the address being used by the cluster.
5. In the Type area, select Management Clustering.
6. Click Apply.
7. Go back to the General tab and click Restart.
You can also add a node by editing variable values in the record.config file of the
node to be added.
1. On the node you want to add to the cluster, open the records.config file located in
/opt/WCG/config.
2. Edit the following variables:
Variable Description
proxy.local.cluster.type Specify the clustering mode:
2 = management mode
3 = no clustering
proxy.config.proxy_name Specify the name of the Content Gateway
cluster. All nodes in a cluster must use the
same name.
proxy.config.cluster.mc_group_addr Specify the multicast address for cluster
communications. All nodes in a cluster
must use the same multicast address.
proxy.config.cluster.rsport Specify the reliable service port. The
reliable service port is used to send data
between the nodes in the cluster. All nodes
in a cluster must use the same reliable
service port. The default value is 8087.
proxy.config.cluster.mcport Specify the multicast port. The multicast
port is used for node identification. All
nodes in a cluster must use the same
multicast port. The default port is 8088.
proxy.config.cluster.ethernet_interface Specify the network interface for cluster
traffic. All nodes in a cluster must use the
same network interface.
Virtual IP failover
Warning
Incorrect IP addressing can disable your system. Make
sure you understand how virtual IP addresses work before
changing them.
1. In the Content Gateway manager, go to the Configure > Networking > Virtual
IP page.
■ The page is available only after you have enabled the Virtual IP option.
■ The Virtual IP Addresses area displays the virtual IP addresses managed by
Content Gateway.
2. Click Edit File to add new or edit existing virtual IP addresses.
■ To edit a virtual IP address, select it from the table at the top of the page, edit
the fields provided, and then click Set.
■ To delete the selected IP address, click Clear Fields.
■ To add a virtual IP address, specify the virtual IP address, the Ethernet
interface, and the Subinterface in the fields provided, and then click Add.
3. Click Apply, and then Close.
Virtual IP addresses are IP addresses that are not tethered to particular machines.
Thus, they can rotate among nodes in a Content Gateway cluster.
It is common for a single machine to represent multiple IP addresses on the same
subnet. This machine would have a primary or real IP address bound to its interface
card and also serve many more virtual addresses.
You can set up your user base to use a DNS round-robin pointing at virtual IP
addresses, as opposed to using the real IP addresses of the Content Gateway machines.
Because virtual IP addresses are not bound to machines, a Content Gateway cluster
can take addresses from inactive nodes and distribute those addresses among the
remaining live nodes.
Using a proprietary management protocol, Content Gateway nodes communicate their
status with their peers. If a node fails, its peers notice the failure and negotiate which
of the remaining nodes will mask the fault by taking over the failed node’s virtual
interface.
Content Gateway can participate in HTTP cache hierarchies, in which requests not
fulfilled in one cache can be routed to other regional caches, taking advantage of the
contents and proximity of nearby caches.
A cache hierarchy consists of levels of caches that communicate with each other.
Content Gateway supports several types of cache hierarchies. All cache hierarchies
recognize the concept of parent and child. A parent cache is a cache higher up in the
hierarchy, to which the proxy can forward requests. A child cache is a cache for which
the proxy is a parent.
For more information, see:
● HTTP cache hierarchies, page 93
● Configuring Content Gateway to use an HTTP parent cache, page 94
In an HTTP cache hierarchy, if a Content Gateway node cannot find a requested object
in its cache, it can search a parent cache—which itself can search other caches—
before resorting to retrieving the object from the origin server. See Configuring
Content Gateway to use an HTTP parent cache.
● You can configure a Content Gateway node to use one or more HTTP parent
caches, so that if one parent is unavailable, another parent can service requests.
This is called parent failover and is described below.
● If you do not want all requests to go to the parent cache, you can configure the
proxy to route certain requests directly to the origin server (for example, requests
that contain specific URLs) by setting parent proxy rules in the parent.config
configuration file (described in parent.config, page 401).
● If the request is a cache miss on the parent, the parent retrieves the content from
the origin server (or from another cache, depending on the parent’s configuration).
The parent caches the content and then sends a copy to the proxy (its child), where
it is cached and served to the client.
Parent failover
When you configure the proxy to use more than one parent cache, the proxy detects
when a parent is not available and sends missed requests to another parent cache. If
you specify more than two parent caches, the order in which the parent caches are
queried depends upon the parent proxy rules configured in the parent configuration
file described in parent.config, page 401. By default, the parent caches are queried in
the order in which they are listed in the configuration file.
Important
Perform this procedure on the child proxy. Do not make
any changes on the parent.
The cache consists of a high-speed object database called the object store. The object
store indexes objects according to URLs and associated headers, enabling Content
Gateway to store, retrieve, and serve web pages and parts of web pages, providing
optimum bandwidth savings. Using object management, the object store can cache
alternate versions of the same object, varying on language or encoding type, and can
store small and large documents, minimizing wasted space. When the cache is full,
Content Gateway removes stale data.
Fault tolerance
Content Gateway can tolerate disk failures on cache disks. If a disk drive fails five
successive I/O operations, Content Gateway marks the disk as down, removes the
drive from the cache, and sends an alarm message to the Content Gateway manager,
indicating which disk failed. Normal cache operation continues on the remaining
cache disks. If all cache disks fail, Content Gateway goes into proxy-only mode.
You can perform the following cache configuration tasks:
● Change the total amount of disk space allocated to the cache. See Changing cache
capacity, page 96.
● Partition the cache by reserving cache disk space for specific protocols and origin
servers and domains. See Partitioning the cache, page 98.
● Specify a size limit for objects allows in the cache. See Configuring cache object
size limit, page 99
● Delete all data in the cache. See Clearing the cache, page 100.
● Change the size of the RAM cache. See Changing the size of the RAM cache, page
100.
RAM cache
Content Gateway maintains a small RAM cache of popular objects. This RAM cache
serves the most popular objects as fast as possible and reduces load on disks,
especially during temporary traffic peaks. You can configure the RAM cache size. See
Changing the size of the RAM cache, page 100.
Related topics:
● Increasing cache capacity, page 96
● Reducing cache capacity, page 97
The maximum aggregate disk cache size is limited to 147 GB. This size makes best
use of system resources, while also providing an excellent end-user experience.
The minimum disk cache size is 2 GB.
To increase the total disk space allocated to the cache on existing disks, or to add new
disks to a Content Gateway node:
1. Stop Content Gateway. See Starting and stopping Content Gateway on the
command line, page 18.
2. Add hardware, if necessary.
a. Set up the raw device and modify the permissions. For example:
mknod /etc/udev/devices/raw c 162 0
chmod 600 /etc/udev/devices/raw
b. Identify the physical device name and note the size in bytes (used later). For
example:
fdisk -l | grep "^Disk"
Disk /dev/cciss/c0d1: 146.7 GB, 146778685440 bytes
c. For each real disk, create a node, change the owner of the node, and map that
raw node to a physical disk. Note that the final argument increments by 1 for
each disk added.
To create a node:
You can reduce the total amount of disk space allocated to the cache on an existing
disk or remove disks from a Content Gateway node.
1. Stop Content Gateway.
2. Remove hardware, if necessary.
3. Edit the storage.config file to reduce the amount of disk space allocated to the
cache on existing disks or to delete the reference to the hardware you are
removing. See storage.config, page 476.
4. If you remove a disk, you must edit the /etc/rc.d/init.d/content_gateway file to
remove the raw disk binding for the disk.
5. Restart Content Gateway.
Important
In the storage.config file, a formatted or raw disk must be
at least 2 GB.
You can manage your cache space more efficiently and restrict disk usage by creating
cache partitions of different sizes for specific protocols. You can further configure
these partitions to store data from specific origin servers and domains. See
Partitioning the cache according to origin server or domain, page 98.
Important
The partition configuration must be the same on all nodes
in a cluster.
HTTP is the only protocol supported.
After you have partitioned the cache according to size and protocol, you can assign the
partitions you created to specific origin servers and domains.
You can assign a partition to a single origin server or multiple origin servers.
However, if a partition is assigned to multiple origin servers, there is no guarantee on
the space available in the partition for each origin server. Content is stored in the
partition according to popularity.
In addition to assigning partitions to specific origin servers and domains, you must
assign a generic partition to store content from all origin servers and domains that are
not listed. This generic partition is also used if the partitions for a particular origin
server or domain become corrupt.
Important
If you do not assign a generic partition, Content Gateway
runs in proxy-only mode.
Note
You do not need to stop Content Gateway before you
assign partitions to particular hosts or domains. However,
this type of configuration can cause a spike in memory
usage and is time consuming. It is recommended that you
configure partition assignment during periods of low
traffic.
You can partition the cache according to host name and domain in the Content
Gateway manager.
In the Content Gateway manager:
1. Configure the cache partitions according to size and protocol, as described in
partition.config, page 404.
Create a separate partition based on protocol (HTTP only) for each host and
domain, and an additional generic partition to use for content that does not belong
to these origin servers or domains. For example, if you want to separate content
from two different origin servers, you must have at least three separate partitions:
one HTTP-based partition for each origin server and a generic partition for all
other origin servers not listed (the partitions do not have to be the same size).
2. Go to the Configure > Subsystems > Cache page.
3. Click the Hosting tab, then Edit File under Cache Hosting to open the
configuration file editor for the hosting.config file.
4. Enter information in the fields provided, and then click Add. All the fields are
described in Cache, page 339.
5. Click Apply, and then click Close.
By default, Content Gateway allows objects of any size in the cache. You can change
the default behavior and specify a size limit for objects in the cache.
1. In the Content Gateway manager, go to the Configure > Subsystems > Cache >
General tab.
2. In the Maximum Object Size field, enter the maximum size allowed (in bytes)
for objects in the cache. Enter 0 (zero) if you do not want to have a size limit.
3. Click Apply.
When an object exceeds the size limit, the following message is entered in the system
log file.
WARNING: Maximum document size exceeded
When you clear the cache, you remove all data from the entire cache, which includes
the data in the host database. Clear the cache before performing certain cache
configuration tasks, such as partitioning.
Note
You cannot clear the cache when Content Gateway is
running.
1. Stop Content Gateway. See Starting and stopping Content Gateway on the
command line, page 18.
2. Enter the following command to clear the cache:
content_gateway -Cclear
Warning
The clear command deletes all data in the object store and
the host database. Content Gateway does not prompt you
to confirm the deletion.
Content Gateway provides a dedicated RAM cache for fast retrieval of popular small
objects. The default RAM cache size is calculated based on the number and size of the
cache partitions you have configured. You can increase the RAM cache size for better
cache hit performance.
Warning
If you increase the size of the RAM cache and observe a
decrease in Content Gateway performance (such as
increased latencies), the operating system might require
more memory for network resources. Return the RAM
cache size to its previous value.
Note
If you have partitioned your cache according to protocol or
hosts, the size of the RAM cache for each partition is
proportional to the size of that partition.
1. In the Content Gateway manager, go to the Configure > Subsystems > Cache >
General tab.
2. In the Ram Cache Size field, enter the amount of space (in bytes) you want to
allocate to the RAM cache. Although the user interface will accept larger values,
do not exceed 512 MB.
The default size is 104857600 (100 MB).
Note
A value of “-1” directs Content Gateway to automatically
size the RAM cache to be approximately 1 MB per 1 GB
of disk cache.
3. Click Apply.
4. Go to the Configure > My Proxy > Basic > General tab and click Restart.
Typically, clients send DNS requests to a DNS server to resolve hostnames. However,
DNS servers are frequently overloaded or not located close to the client; therefore
DNS lookups can be slow and can be a bottleneck to fulfilling requests.
The DNS proxy caching option allows Content Gateway to resolve DNS requests on
behalf of clients. This option off-loads remote DNS servers and reduces response
times for DNS lookups. See Configuring DNS proxy caching, page 104.
Important
You can use the DNS proxy caching option only with a
layer 4 switch or a Cisco router running WCCP v2.
The following overview illustrates how Content Gateway serves a DNS request.
1. A client sends a DNS request. The request is intercepted by a router or L4 switch
that is configured to redirect all DNS traffic on port 53 to Content Gateway.
2. The ARM examines the DNS packet. If the DNS request is type A (answer), the
ARM forwards the request to Content Gateway. The ARM forwards all DNS
requests that are not type A to the DNS server.
3. For type A requests, Content Gateway checks its DNS cache to see if it has the
hostname to IP address mapping for the DNS request. If the mapping is in the
DNS cache, Content Gateway sends the IP address to the client. If the mapping is
not in the cache, Content Gateway contacts the DNS server to resolve the
hostname. When Content Gateway receives the response from the DNS server, it
caches the hostname to IP address mapping and sends the IP address to the client.
If round-robin is used, Content Gateway sends the entire list of IP address
mappings to the client and the round-robin order is strictly followed.
Note
If the hostname to IP address mapping is not in the DNS
cache, Content Gateway contacts the DNS server specified
in the /etc/resolv.conf file. Only the first entry in
resolv.conf is used. This might not be the same DNS server
for which the DNS request was originally intended.
The DNS cache is held in memory and backed up on disk. Content Gateway updates
the data on disk every 60 seconds. The TTL (time-to-live) is strictly followed with
every hostname to IP address mapping.
Important
You can use the DNS proxy caching option only with a
layer 4 switch or a Cisco router running WCCP v2.
6. Under Features > Networking, enable DNS Proxy and click Apply. Postpone the
prompted restart until step 8.
7. Go to the Networking > DNS Proxy page.
8. Enter the DNS Proxy Port (5353, by default).
9. Click Apply and restart Content Gateway.
10. Configure your layer 4 switch or WCCP v2 router to send DNS traffic to the
Content Gateway DNS port (53, by default).
The configuration snapshot feature lets you save all current configuration settings and
restore them if needed. Content Gateway can store configuration snapshots on the
node where they are taken, on an FTP server, and on portable media. Content Gateway
restores a configuration snapshot on all the nodes in the cluster.
Note
It is recommended that you take a configuration snapshot
before performing system maintenance or attempting to
tune system performance. Taking a configuration snapshot
takes only a few seconds.
You can save all of the current Content Gateway configuration settings via the Content
Gateway manager.
Relative paths are created in the Content Gateway config directory. To create a
snapshot directory in another location, use the full path.
3. In the Save Snapshot field, type the name you want to use for the current
configuration.
4. Click Apply.
Restore a saved configuration from the Content Gateway manager. If you are running
a cluster of Content Gateway servers, the configuration is restored to all the nodes in
the cluster.
After you have successfully logged on to the FTP server, the FTP Server tab
displays additional fields.
4. Use the Restore Snapshot drop-down list to select the configuration snapshot that
you want to restore.
5. Click Apply.
The Content Gateway system or cluster uses the restored configuration.
Content Gateway provides the following tools to monitor system performance and
analyze network traffic:
● Statistics that show Content Gateway performance and network traffic
information, available from the Content Gateway manager or the command line.
See:
■ Viewing statistics in the Content Gateway manager, page 111
■ Viewing statistics from the command line, page 112.
● Alarms that signal detected failure conditions. See Working with alarms, page
112.
● Performance graphs that show historical Content Gateway performance and
network traffic information. See Using Performance graphs, page 114.
● Reports for SSL traffic. See Creating SSL certificate authorities reports, page 115,
and Creating an SSL incidents report, page 116.
Use the options on the Monitor tab of the Content Gateway manager to collect and
interpret statistics about Content Gateway performance and web traffic.
Statistics are available regarding:
● My Proxy (the current Content Gateway instance, or nodes in the same cluster)
See My Proxy, page 253, and Working with alarms, page 112, for details.
● Protocols (HTTP and FTP)
See Protocols, page 259, for details.
● Security (LDAP, NTLM, and IWA proxy authentication and SOCKS server
connections)
See Security, page 262, for details.
● Subsystems (cache, clustering, and logging)
You can use the command-line interface to view statistics about Content Gateway
performance and web traffic.
To view specific information about a Content Gateway node or cluster, specify the
variable that corresponds to the desired statistic.
1. Become root:
su
2. Log on to a Content Gateway node.
3. From the Content Gateway bin directory (/opt/WCG/bin), enter the following
command:
./content_line -r <variable>
Here, <variable> is the variable that holds the information you want. For a list of
the variables you can specify, see Content Gateway variables, page 281.
For example, the following command displays the document hit rate for the node:
content_line -r proxy.node.http.cache_hit_ratio
Content Gateway signals an alarm when it detects a problem, for example if the space
allocated to event logs is full, or if it cannot write to a configuration file. A general
alarm message is displayed at the top of the content pane in the Content Gateway
manager.
Not all alarms are critical. Some alarms report transient conditions. For example, a
“Content Gateway subscription download failed: error connecting” alarm can be
generated by a temporary disruption in Internet connectivity.
Content Gateway alarm messages, page 483, provides a description of some of the
alarm messages that Content Gateway generates.
Use the Monitor > My Proxy > Alarms page to see a listing of current alarms, as
shown below.
Note
Content Gateway also sends select alarms to the Web
module of the Forcepoint Security Manager, where they
are referred to as alerts. Summary alert messages are
displayed on the System tab of the Web > Status >
Dashboard page. Security Manager administrators can also
configure SNMP and email alert notifications for Content
Gateway alarms on the Settings > Alerts pages.
Clearing alarms
After you have addressed an alarm issue, click Clear in the alarm message window to
dismiss the alarm.
Important
Clicking Clear only dismisses alarm messages; it does not
resolve the cause of the alarms.
If the same alarm condition occurs a second time, it will not be logged if the first
alarm has not been cleared.
The Performance graphing tool (Multi Router Traffic Grapher [MRTG]) allows you to
monitor Content Gateway performance and analyze network traffic. Performance
graphs show information about virtual memory usage, client connections, cache hit
and miss rates, and so on. The information provided is recorded from the time that
Content Gateway was started. Statistics are gathered at 5-minute intervals.
Use the Monitor > Performance page in the Content Gateway manager to access
performance graphs.
Important
To run MRTG, you must have Perl v5.005 or later installed
on your Content Gateway system.
1. If your Content Gateway node is in a cluster, select the node whose statistics you
want to view from the Monitor > My Proxy > Summary page.
2. Go to the Performance > Monitor page.
3. Select an option:
■ Click Overview to see a subset of available graphs.
■ Click Daily to see statistics for the current day.
■ Click Weekly to see statistics for the current week.
■ Click Monthly to see statistics for the current month.
■ Click Yearly to see statistics for the current year.
4. Wait at least 15 minutes after starting Content Gateway before looking at the
graphs. It takes several 5-minute sample intervals for the tool to initialize
statistics.
If MRTG has not been configured, the system displays a message indicating that it is
not available. To configure the tool:
1. Make sure Perl 5.005 is installed on your system.
2. To ensure that the perl binary is in your PATH, open a command shell, navigate to
the bin directory (/opt/WCG/bin), and enter the following command:
perl ./pathfix.pl ‘which perl‘
3. Use the following command to modify the MRTG update interval:
./update_mrtg;sleep 5;./update_mrtg;sleep 5;
By default, an MRTG update interval is set to 15 minutes. This command sets the
update to 5 minutes.
4. Start the MRTG cron updates:
./mrtgcron start
5. Wait about 15 minutes before accessing the performance graphs from the Content
Gateway manager.
Note
To stop MRTG cron updates, use the following command:
./mrtgcron stop
Note
To delete the collected SSL log data, click Reset all
collected data.
Note
To delete the collected SSL log data, click Reset all
collected data.
Related topics:
● Deploying Content Gateway to work with Forcepoint DLP, page
118
● Registering Content Gateway with Forcepoint DLP, page 119
● Configuring the ICAP client, page 123
● ICAP failover and load balancing, page 124
Note
When a request is blocked and the DLP server sends a
block page in response:
● Content Gateway forwards the block page to the
sender in a 403 Forbidden message.
● The block page must be larger than 512 bytes or some
browsers will substitute a generic error message.
In addition to applying Web DLP policies, the DLP Module can be used to enable data
theft analysis for outbound traffic. Configure outbound security options in the Web
Security module of the Forcepoint Security Manager on the Scanning >
Scanning Options page.
Related topics:
● Working With Web DLP, page 117
● Registering Content Gateway with Forcepoint DLP manually, page
121
● Web DLP configuration options for Content Gateway, page 121
● Stopping and starting Forcepoint DLP processes, page 122
Content Gateway registers with on-box DLP Module components automatically once
an administrator enables Web DLP integration.
Note
Automatic registration is not available with Forcepoint
DLP Web Content Gateway. See Registering Content
Gateway with Forcepoint DLP manually.
Note
To later disable the integration and unregister Content
Gateway and Forcepoint DLP components, turn the
Integration option to Off and restart Content Gateway.
Related topics:
● Working With Web DLP, page 117
● Registering Content Gateway with Forcepoint DLP, page 119
● Web DLP configuration options for Content Gateway, page 121
● Stopping and starting Forcepoint DLP processes, page 122
Related topics:
● Working With Web DLP, page 117
● Registering Content Gateway with Forcepoint DLP, page 119
Once Content Gateway has registered with Forcepoint DLP, use the Configure >
Security > Web DLP page in the Content Gateway manager to configure the
following options:
1. If Content Gateway is configured to proxy FTP traffic, select Analyze FTP
Uploads to send FTP uploads to Forcepoint DLP for analysis and policy
enforcement.
Note
A Content Gateway manager alarm is generated if:
● Web DLP is enabled but not registered.
● Web DLP is enabled and registered but not configured
in the Data Security module of the Forcepoint Security
Manager.
Related topics:
● Working With Web DLP, page 117
● Registering Content Gateway with Forcepoint DLP, page 119
When Content Gateway is registered with Forcepoint DLP and the Forcepoint DLP
policy engine is running on the Content Gateway machine, 3 daemon processes are
active on the Content Gateway machine:
● PolicyEngine handles transaction and data analysis.
● PAFPREP manages the Forcepoint DLP fingerprint repository.
● mgmtd handles configuration storage and replication.
These processes start automatically whenever the computer is started.
You must have root privileges to stop or start the processes.
To stop or start all policy engine processes, on the command line enter:
/opt/websense/PolicyEngine/managePolicyEngine -command
[stop|start]
ICAP can be used with any version of Forcepoint DLP. The direct interface is
recommended, however, when the policy engine is on the Content Gateway machine.
See Registering Content Gateway with Forcepoint DLP, page 119.
Note
A secondary ICAP server can be specified as a failover
should the primary server fail.
The primary and secondary can also be configured to
perform load balancing.
See ICAP failover and load balancing, below.
Note
If you change the URI, you must restart Content Gateway.
Other changes do not require a restart.
Content Gateway can be configured to failover to a backup ICAP server if the active
ICAP server fails. The proxy detects the failure condition and sends traffic to the
secondary server. If the secondary becomes unresponsive, the proxy uses the primary.
If no ICAP servers are available, the proxy fails open.
Load balancing between 2 ICAP servers is also an option.
Time to failover
Content Gateway may experience temporary request-processing latency between the
time the real failure occurs and the time the proxy marks the failed server as down.
After the failed server is marked down, all new requests are sent to the second ICAP
server. The time to failover is primarily limited by the connection timeout
configuration.
Failure conditions
The following failure conditions lead to failover
● ICAP request failed due to layer-3 failure (twice for the same request)
● Failure to connect to a port within a given timeout
● Failure to send request (server resetting connection, and similar)
Content Gateway does not consider missing, invalid, or slow responses as failures.
Content Gateway does, however, verify that the ICAP server is valid at startup by
verifying the response to the ICAP OPTIONS request.
Content Gateway tests for the following recovery conditions for each down ICAP
server at a specified interval:
● TCP connection success
● Successfully sent OPTIONS request
● Successfully received valid response to OPTIONS request
Upon server recovery (server comes back online and is marked as up):
● Load balancing ON: Requests start being distributed to the newly up server
(round-robin)
● Load balancing OFF: If the primary server recovers, all requests start being sent to
the primary. If the secondary server recovers, traffic continues to be sent to the
primary, until the primary goes down.
Fail open
If all ICAP servers are down, a configuration option allows fail open or fail closed
behavior. When all ICAP servers are down, the background thread continuously
attempts to reestablish a new connection with each server.
Configuration settings
These ICAP failover parameters are set in the records.config file (defaults shown):
Related topics:
● Initial SSL configuration tasks, page 130
● Enabling SSL support, page 129
● Certificates, page 131
● Internal Root CA, page 131
● Managing certificates, page 138
● SSL configuration settings for inbound traffic, page 141
● SSL configuration settings for outbound traffic, page 142
● Validating certificates, page 144
● Managing HTTPS website access, page 150
● Enabling SSL support, page 129
● Client certificates, page 154
● Customizing SSL connection failure messages, page 157
● SSL decryption port mirroring (appliance deployments), page 158
Secure Sockets Layer (SSL) and Transport Layer Security (TLS) are the industry
standards for secure transmission of data on the Internet. They rely on data encryption
and a system of trusted certificates issued by certificate authorities (CA) that are
recognized by clients and servers. SSL/TLS requests made in a browser are easily
identified by the “https” string that leads the URL.
In the topics that follow, for convenience and simplicity, SSL/TLS is referred to
simply as SSL.
To establish an SSL connection, the client sends an SSL connection request to the
server. If the server consents, the client and server use a standard handshake to
negotiate an SSL connection.
Content Gateway offers 2 types of support for HTTPS traffic. Only one can be used at
a time.
Important
Even when HTTPS support is not enabled and HTTPS is
not decrypted, Content Gateway performs a URL lookup
and applies policy. In these circumstances:
● In explicit proxy mode, Content Gateway performs
URL filtering based on the hostname in the request. If
the site is blocked, Content Gateway serves a block
page. Some browsers do not support display of the
block page.
To prevent this URL filtering, configure clients to not
send HTTPS requests to the proxy.
● In transparent proxy mode, if there is an SNI in the
request, Content Gateway gets the hostname from the
SNI and performs URL filtering based on the
hostname. Otherwise, Content Gateway uses the
Common Name in the certificate of the destination
server. If the Common Name contains a wildcard (*),
the lookup is performed on the destination IP address.
If the site is blocked, the connection with the client is
dropped; no block page is served.
To prevent this URL filtering with WCCP, do not
create a service group for HTTPS.
Note
Content Gateway does not cache HTTPS content.
Note
If you are deployed with the DLP Module and it is
configured to inspect HTTPS traffic, you must enable
HTTPS.
Note
By default, Content Gateway does not try to tunnel non-
SSL traffic. To change this, update the records.config file
(in /opt/WCG/config, by default) as follows:
CONFIG proxy.config.ssl_decryption_bypass.t
unnel_non-ssl_traffic INT 1
Restart Content Gateway to implement the change.
Set the value to 0 to turn off tunneling of non-SSL traffic.
Warning
Tunneled connections are not decrypted or inspected.
When tunneling is enabled, Forcepoint Web Security behavior varies based on the
type of proxy deployment.
■ When Content Gateway is an explicit proxy, a URL lookup is performed and
policy is applied before the SSL connection request is made. Transactions are
logged as usual.
■ When Content Gateway is a transparent proxy, if there is an SNI in the
request, Content Gateway gets the hostname from the SNI and performs URL
filtering based on the hostname. Otherwise, when Content Gateway sends the
connect to the server, the unknown protocol error causes the request to be
tunneled without the proxy being aware of it, and no transaction is logged.
For inbound (client to Content Gateway) traffic, perform these steps to prepare for
supporting HTTPS traffic through Content Gateway:
1. Create an internal root CA (certificate authority). In order to sign SSL traffic,
Content Gateway requires an internal SSL Certificate Authority that has the
ability to sign SSL certificates. This is for traffic between the browser and Content
Gateway. See Internal Root CA, page 131.
2. Add this CA to the certificate tree. Servers, such as destination servers, check this
tree to ensure that they can trust users because they have certificates from an
authority listed here. The certificates listed on the certificate tree are certificate
authorities you empower (trust) to verify the validity of individual websites. Any
site signed by a certificate authority in the certificate tree with the “allow” status is
allowed through Content Gateway. See Managing certificates, page 138
3. Customize pages that browser users will see. See Customizing SSL connection
failure messages, page 157. Among the pages that can be customized are a
connect failure and certificate verification failure page.
Certificates
Internal Root CA
The internal Root CA dynamically generates all certificates used between the client
browser and Content Gateway.
● You must have an internal Root CA to complete an inbound connection.
● Only one internal Root CA can be active at a time.
● The internal Root CA is stored in the SSL configuration database.
Important
The default internal Root CA that is included with Content
Gateway is not unique and should not be used in a
production environment.
Replace the default internal Root CA with your
organization’s Root CA or create a new one.
Important
Back up the existing internal Root CA before importing or
creating a new one. This enables you to return to an earlier
version, if necessary. See Backing up your internal Root
CA, page 137, for details.
If your organization already has a Root CA, or if you have created a certificate as
described elsewhere in this document, you can import it into Content Gateway. The
certificate must be trusted by all browsers in your organization.
Be sure to back up any new internal Root CA that you import. See Backing up your
internal Root CA, page 137, for details.
To import your Root CA:
1. In the Content Gateway manager, go to the Configure > SSL > Internal Root
CA > Import Root CA tab.
2. Click Choose File and browse to select the certificate. The certificate must be in
X.509 format and base64-encoded.
3. Click Choose File and browse to select the private key. It must correspond to the
certificate you selected in Step 2.
■ The certificate and private key format must match.
■ The private key format must match the format required by the importing node
(unencrypted or encrypted).
To verify the certificate and private key format, view the files in a text editor. Use
Backup Root CA to export the CA from the database.
Note
For information on converting the private key format, see:
● Preparing an Internal Root CA for importing into a
FIPS 140-2 enabled node
● Converting an RSA key type to a PKCS#8 key type
● Converting an encrypted private key to an RSA key
Related topic:
● Creating a subordinate certificate authority, page 133
If you do not already have a Root CA, you can use the Content Gateway manager to
create one. The process uses openssl pkcs#8.
Be sure to back up any new Root CAs that you create. See Backing up your internal
Root CA, page 137, for details.
1. In the Content Gateway manager, go to the Configure > SSL > Internal Root
CA > Create Root CA tab.
2. Provide requested information in the fields, particularly noting the following:
■ The fields Organization, Organizational unit, and Common name comprise a
distinguished name.
○ For Organization, enter the name of your company.
○ Optionally provide an Organizational Unit (for example, division,
section, or department) name.
○ For Common Name, enter the name of your company certificate authority.
■ The comment becomes part of the certificate. The first line you enter can be
seen by end users.
■ Enter, and then confirm, the passphrase. (A passphrase is similar to a
password. Usually, however, it is longer to provide greater security. It is
recommended that you use a strong passphrase, with a combination of
numbers, characters, and upper- and lower-case letters.)
3. Click Generate and Deploy Certificate to deploy the certificate to the Content
Gateway server.
Creating a subordinate certificate authority (sub CA) enables you to take advantage of
all the information already existing for your Root CA. However, the Root CA can
revoke the sub CA at any time.
Follow these steps to generate a sub CA using OpenSSL and the certificate services in
Microsoft Windows.
Preparation
● If you are not the Enterprise domain administrator, you will need to work
with that person to get the correct domain permissions to generate a sub CA.
● Install the OpenSSL toolkit (www.openssl.org) on a Windows or Linux machine.
4. There will be a series of questions. Answer each question and make note of the
challenge password; it will be needed later in the process.
The openssl command generates 2 files:
■ wcg.csr is the CSR that will be signed by the Certificate Authority to create
the final certificate.
■ wcg.key is the private key.
5. If you created the CSR on a Linux system, copy it to your Windows host with
WinSCP or some other file transfer utility.
6. On the Submit a Certificate Request or Renewal Request screen, paste the content
of the wcg.csr file (previously placed on the clipboard) in the field provided and
click Submit.
7. The certificate is issued and the Certificate Issued screen displays.
If, instead, the Certificate Pending screen displays, you do not have sufficient
privileges to create a sub CA. Contact your Enterprise domain administrator to
complete the certificate creation process before proceeding.
8. Select the Base 64 encoded radio button, and then select Download certificate.
9. Save the certificate to your desktop. Later you will import it into Content
Gateway.
With the base 64 encoded certificate on your desktop, along with the private key
created during the CSR generating process, you are ready to import both into Content
Gateway. See Importing your Root CA, page 132, for instructions.
Always back up the public and private keys of your internal Root CAs before
importing or creating new ones. This enables you to return to an earlier version of the
certificate, if necessary. In addition, back up any new Root CAs that you import or
create.
1. In the Content Gateway manager, go to Configure > SSL > Internal Root CA >
Backup Root CA tab.
2. Click Save Public CA Key to view or save the public CA key.
3. Click Save Private CA Key to view or save the private CA key.
Depending on your browser settings, you may be prompted to open or save each key
file, or the keys may automatically be saved to the browser’s default downloads
directory.
Managing certificates
Related topics:
● Adding new certificate authorities, page 139
● Backing up certificates, page 139
● Restoring certificates, page 139
● Automatic certificate updates, page 140
Content Gateway initially populates its trusted certificate store, the Certificate
Authority Tree (CA tree) with the list qualified by Mozilla for Firefox (see
mozilla.org), by Microsoft for Internet Explorer, and by Apple for Safari. The CA tree
appears on the Configure > SSL > Certificates > Certificate Authorities tab in the
Content Gateway manager. Content Gateway trusts origin servers that offer these
certificates.
In the CA tree, a small “i” appears before the names of certificates that can be
validated via certificate revocation lists (CRL) or online certification status protocol
(OCSP). Content Gateway checks the revocation status of certificates used for both
inbound and outbound traffic. See Keeping revocation information up to date, page
147, for information about checking the revocation status of a certificate.
To view, delete, or change the allow/deny status of a certificate:
1. In the Content Gateway manager, go to the Configure > SSL > Certificates >
Certificate Authorities tab.
2. Select the name of an authority to open a small pop-up window with information
about that authority.
3. Do one of the following:
■ To open or download the certificate for review, select Click to view
certificate.
Depending on your browser settings, you may be prompted to open or save
the certificate file, or the file may automatically be saved to the browser’s
default downloads directory.
■ To delete a certificate, select Click to delete certificate, then confirm your
choice.
After deleting the certificate, verify that it no longer appears on the Certificate
Authorities tab.
■ To allow or deny the certificate, select the Click to change status to option.
Depending on the status of the certificate, your choice is allow or deny.
○ If you change the status to deny, a red X appears next to the name of the
certificate authority in the certificate authority tree.
○ If you change the status to allow, a green circle appears next to the name
of the certificate authority.
Use the Configure > SSL > Certificates > Add Root CA tab to manually import
additional certificate authorities. Certificates that you import manually have a default
status of allow.
Important
Back up your current certificates before making any
changes, such as adding or deleting certificates. See
Backing up certificates, page 139. If you want to back up
your entire Content Gateway configuration, see Saving
and Restoring Configurations, page 107.
1. Browse to the certificate location. Look for files that have a “.cer” extension. The
certificate must be in X.509 format and base64-encoded.
2. Click Add Certificate Authority.
3. If the import was successful, check that the new certificate is listed on
Configure > SSL > Certificates > Certificate Authorities.
New CAs are also added when users visit a site signed by that authority. These
certificates may be allowed or denied.
Backing up certificates
Help | Content Gateway | v8.4.x
Restoring certificates
Help | Content Gateway | v8.4.x
3. Click Restore. You receive a message telling you that the restore was successful
and indicating where the previous certificate database was backed up.
The certificate database is propagated around the cluster.
If you are running multiple proxies, use this restore feature to ensure that all the
proxies have the same configuration.
Note
The update process maintains only Public certificates.
Customers are responsible for maintaining Private
certificates.
Enabled by default, the feature can be disabled by editing records.config using this
command:
CONFIG proxy.config.ssl.catree_update INT 0
Use the Configure > SSL > Decryption / Encryption page in the Content Gateway
manager to configure SSL and TLS settings and ciphers for inbound and outbound
traffic. For outbound traffic, also configure session cache settings.
For instructions, see:
● SSL configuration settings for inbound traffic, page 141
● SSL configuration settings for outbound traffic, page 142
Related topics:
● SSL configuration settings for outbound traffic, page 142
To configure SSL and TLS settings and ciphers for inbound traffic:
1. In the Content Gateway manager, go to the Configure > SSL > Decryption /
Encryption > Inbound tab.
2. Under Protocol Settings, mark the check box next to each protocol that you want
Content Gateway to support. Supported protocols are:
■ SSLv2
■ SSLv3
■ TLSv1 (enabled by default)
Note
TLSv1.1 and TLSv1.2 are also supported and enabled by
default for inbound and outbound connections.
You can disable this support in the records.config file:
proxy.config.ssl.server.TLSv11 INT 0
proxy.config.ssl.server.TLSv12 INT 0
On Forcepoint appliances, use the CLI to set the value.
On Linux servers, use the “content_line -s” command.
Select the protocols that your organization’s security policy has adopted and that
your browsers support.
■ You must select at least one protocol.
■ These settings override the settings for these protocols in the users’ browsers.
Use Configure > SSL > Decryption / Encryption > Outbound to configure SSL
and TLS settings, session cache, and ciphers for outbound traffic (Content Gateway to
the origin server).
1. Under Protocol Settings, indicate which protocols you want Content Gateway to
support. Supported protocols are:
■ SSLv2
■ SSLv3 (disabled by default)
Note
TLSv1.1 and TLSv1.2 are also supported and enabled by
default for inbound and outbound connections.
You can disable this support in the records.config file:
proxy.config.ssl.server.TLSv11 INT 0
proxy.config.ssl.server.TLSv12 INT 0
On Forcepoint appliances, use the CLI to set the value.
On Linux servers, use the “content_line -s” command.
Select the protocols that your organization’s security policy has adopted.
■ You must select at least one protocol.
■ You can select different protocols for inbound traffic.
2. Select Use session cache if you want to cache keys until the time specified in the
Session cache timeout field expires. If keys are not cached, each request is
negotiated again.
3. Use the Session cache timeout field to specify how long (in seconds) keys should
be kept in the cache. The default is 300 seconds (5 minutes).
To disable session caching, set the session cache timeout to 0 (zero).
4. Under Cipher Settings, select the appropriate Cipherlist for your deployment.
The cipher list describes available algorithms and level of encryption between the
client and Content Gateway.
The Content Gateway DEFAULT cipher list matches the OpenSSL Default list,
excluding those that Forcepoint experts believe provide the least security or
encryption strength.
The strongest cipher (providing the highest level of encryption) is applied first.
This can be set to a different level of encryption than for inbound traffic.
Additional cipher settings are:
■ HIGH encryption cipher suites are those with key lengths larger than 128
bits, and some cipher suites with 128-bit keys.
■ MEDIUM encryption cipher suites include the high cipher list plus additional
cipher suites that use 128-bit encryption algorithms.
For outbound requests, consider using HIGH to improve security.
Note that regardless of the selected setting, specific insecure ciphers are disabled
by default. Control this list via the proxy.config.ssl.client.cipherlist_suffix
variable in the records.config file. See the information provided in the SSL
Decryption section of Content Gateway Configuration Files for more
information.
For more information on ciphers and cipher lists, refer to www.openssl.org/docs.
5. Click Apply.
6. Go to the Configure > My Proxy > Basic > General tab and click Restart.
Validating certificates
Related topics:
● Bypassing verification, page 146
● Keeping revocation information up to date, page 147
4. If you have enabled the Deny certificates option, indicate whether or not to Allow
wildcard certificates. When selected, this option allows matches with Common
Names that include the “*” (wildcard) character in the name.
Some HTTPS servers use a wildcard in the Common Name so that a single
certificate can cover an entire domain. For example, “*.example.com” could
cover “email.example.com” and “stream.example.com”, among others.
■ Use of the wildcard means that individual servers within the domain are not
verified; they are included as a result of the wildcard.
■ Allowing wildcard certificates eases the strict matching burden when a
Common Name match is required. It is also helpful for domains that have
multiple subdomains like google.com or yahoo.com. It also introduces some
risk that a fraudulent or undesirable variation of a domain may go unblocked.
5. Select the No expired or not yet valid certificates option to deny access to sites
that offer an expired or not yet valid certificate. This is a basic check that is
important because many malicious sites operate with expired certificates.
If this option is not selected, access to those sites is permitted.
6. Indicate whether or not to Deny self-signed certificates. By default, the option is
enabled, and self-signed certificates (certificates without an official certificate
authority) are considered invalid.
7. Indicate whether or not to Verify entire certificate chain. By default, this option
is enabled, and Content Gateway verifies expiration and revocation status of all
certificates between the site certificate and the root Certificate Authority as
specified in the certification path of the certificate. This is an important check.
8. Indicate whether or not to Check certificate revocation by CRL. Certificate
revocation lists (CRLs) are used to check a certificate’s revocation status. CRLs
list certificates that have been issued and subsequently revoked by the CA.
Verifying the revocation status is a basic check that is very important because
certificates are revoked when they are improperly issued, have been
compromised, have a false identity, or violate policies specified by the CA.
■ If this option is enabled, verify that the daily CRL update feature is enabled on
the Revocation Settings tab under CRL Settings.
■ If this option is not used, disable the daily CRL update feature on the
Revocation Settings tab under CRL Settings.
9. Indicate whether or not to Check certificate revocation by OCSP. Online
Certificate Status Protocol (OCSP) is an alternate way to check a certificate’s
revocation status. While OCSP is beneficial, it is not used as widely as CRLs and
therefore is not as reliable. Also, it is a real-time, Internet-hosted check that can
introduce some request handling latency.
Note
It is recommended that you use OCSP in addition to, rather
than instead of, CRLs. See Keeping revocation
information up to date, page 147, for more information on
CRLs and OCSP.
10. If you are using OCSP revocation checking, use the Block certificates with
Unknown OCSP state option to determine whether to block certificates that
return the “Unknown” status.
11. If both CRL and OCSP revocation checking are enabled, indicate your Preferred
method for revocation check. The selected method (CRL, by default), is applied
first.
12. If you have enabled CRL or OCSP checking (or both), use the Block certificates
with no CRL URI and with no OCSP URI option to block certificates that do
not have the expected, associated URIs. For example, if only CRL checking is
enabled and the certificate doesn’t have a CRL URI, if this option is enabled the
connection is blocked. When both CRL and OCSP checking are enabled, the
block occurs only if both CRL and OCSP lack a URI.
■ You can view URI information in the certificate when you select to view the
certificate in your browser. See Managing certificates, page 138, for details.
■ Because many certificates do not include CRL or OCSP information, this
option can result in a high number of verification failures. Often the failures
are reported as “Unknown revocation state” errors.
This can result in a highly restrictive security policy, with many access
denials.
■ As with all verification failures, you can allow for exceptions using the
Incident List. See Managing HTTPS website access, page 150.
Bypassing verification
When verification bypass is enabled, users are allowed to access a website after they
have been informed that the site has an invalid certificate.
It is recommended that organizations deploy initially with verification bypass enabled.
Then, as the incident rate changes, administrators can use the Incident List to enforce
policy. See Managing HTTPS website access, page 150.
Use the Configure > SSL > Validation > Verification Bypass tab in the Content
Gateway manager to configure verification bypass settings.
1. Select Permit users to visit sites with certificate failure after confirmation to
enable verification bypass (default). If this check box is not selected, users do not
have the option to browse to sites with an invalid certificate.
2. If verification bypass is enabled, use the Time before the user is notified again
for the site field to specify a period of time, in minutes, that the user is allowed to
visit a particular site without having to click through the warning again. The
default is 6 minutes.
3. Select Enable the SSL session cache for bypassed certificates to store
information about bypassed certificates in cache and reuse the connections.
■ If this option is selected, not all users are notified that they are trying to access
a site where verification has failed.
■ If this option is not selected, all users are notified about sites that do not have
valid certificates.
4. Click Apply.
As a best practice, configure Content Gateway to check the status of any certificate
before accepting it, to ensure that the certificate has not been revoked. There are 2
methods of doing this: through CRLs (see Certificate revocation lists, page 147) and
through OCSP (see Online certification status protocol, page 148).
● CRLs may include information about thousands of certificates, and may therefore
take some time to download and process.
● OCSP operates on a request/response basis for individual certificates, which may
improve performance, but not all CAs provide OCSP responses.
Note
Downloading CRL files can take some time and consume
CPU resources. Download CRL updates at a time when
Internet traffic on your system is light.
2. Because the update process may take some time, click View CRL Update
Progress to see the status of the update.
For more information on certificate revocation lists, see RFC 3280.
Use an existing PAC file or create a new one to direct HTTPS traffic to Content
Gateway.
Step 5, below, provides a script that can be used a basis for building a custom PAC
file.
To configure Content Gateway to serve a PAC file:
1. In the Content Gateway manager, go to the Configure > My Proxy > Basic >
General tab.
2. Under Features > Protocols, make sure that, ensure that HTTPS is On.
If HTTPS is disabled, set it to On, click Apply, and then click Restart.
3. Go to the Configure > Content Routing > Browser Auto-Config > PAC tab.
4. Specify an Auto-Configuration Port for the proxy to use to serve the PAC file
(8083, by default).
5. Use the PAC Settings area to review or create the PAC file:
■ If an administrator has copied an existing PAC file into the Content Gateway
config directory (as described in Using a PAC file, page 40), the contents of
the file are displayed. Review and update the file as needed.
■ If no PAC file has been configured, the PAC Settings field is empty. To start
creating a PAC file, copy and paste the following template into the PAC
Settings field. Replace <host> with the IP address or hostname of the Content
Gateway machine.
function FindProxyForURL(url, host)
{
url = url.toLowerCase();
host = host.toLowerCase();
if(url.substring(0, 5) == "http:"){
return "PROXY <host>:8080";
}
else if(url.substring(0, 4) == "ftp:"){
return "PROXY <host>:2121";
}
else if(url.substring(0, 6) == "https:"){
return "PROXY <host>:8080";
}
else{
return "DIRECT";
}
}
The template is for basic testing only. Administrators should modify the file
as needed to suit their organization’s needs.
6. Click Apply.
7. Go to the Configure > My Proxy > Basic > General tab and click Restart.
Once the new PAC file is in place, configure users’ browsers to use the PAC file. For
example, if the PAC file is located on the proxy server with the hostname “proxy1”
and Content Gateway uses the default port 8083 to serve the file, users’ browsers must
be configured to include the following URL in their proxy configuration settings:
http://proxy1.company.com:8083/proxy.pac
The procedures for specifying the PAC file location vary among browsers. See Using
a PAC file, page 40, for more information.
Related topics:
● Viewing incidents, page 150
● Changing the status of an incident, page 152
● Deleting an incident, page 152
● Changing the text of a message, page 152
● Viewing incident details, page 153
● Adding websites to the Incident List, page 153
Use the Configure > SSL > Incident List and Add Website tabs to manage access to
websites and troubleshoot website access issues.
● When an end user receives an access denial message because a website does not
comply with the organization’s security policy, Content Gateway generates an
incident. See Viewing incidents, page 150.
● To specify how Content Gateway treats a particular site, add it to the Incident List.
See Adding websites to the Incident List, page 153.
Additional troubleshooting information can be found in SSL Certificate Verification
Engine.
Viewing incidents
Help | Content Gateway | v8.4.x
Use the Configure > SSL > Incidents > Incident List tab to see a report of those
times when clients received an access denial message.
Every node in a cluster has its own incident list.
● Incidents that are added or modified by the administrator are copied around the
cluster (synchronized).
● Unexpected incidents that result in an access denial message are not synchronized
in the cluster.
Use the fields in this report to specify how Content Gateway treats requested access to
a site in the future.
● To view a specific incident in the local list, enter the ID number or URL and click
Search Node.
If the node is part of a cluster and you want see all instances of the ID or URL, in
all lists, click Search Cluster.
● After performing a search, to restore the complete local list, click Show All in
Node.
When the list is very large, Show All displays only the first 2,500-3,000 records.
Use the scroll bar to scroll through the list. Use the “>” and “<” buttons to view
the next or previous page.
Field Description
Node The name of the Content Gateway node on which the list entry is located.
ID The incident ID number assigned by the system, also called the Ticket ID. Help
Desk can ask the user for the Ticket ID in the error message and quickly
retrieve it from the Incident List.
The end user sees the Ticket ID and a denial message.
Status Determines how Content Gateway will treat this website in the future. Four
conditions are possible:
● Allow
Users can access the site even if the certificate is not valid. Traffic is
decrypted, and certificate checking is disabled.
● Blacklisted
The site is completely blocked. Users cannot access this site even if the
Verification Bypass is configured.
● Block
If certificate verification fails, access to the website is blocked, unless
Verification Bypass is configured, in which case the block page includes a
“Visit site anyway” button. See Bypassing verification, page 146.
● Tunnel
The site is tunneled. Traffic is not decrypted and Content Gateway does not
check the certificate. Tunneling can be used to bypass inspection of trusted
sites and improve performance.
Note: Tunnel by URL does not work with all transparent proxy traffic. See
Adding websites to the Incident List, page 153.
Use the drop-down list in the Action column to change the status of a site.
Type Indicates whether the site was added based on its URL or its certificate. It is
recommended that administrators add sites to the Incident List by certificate.
See Adding websites to the Incident List, page 153.
URL The URL of a site whose certificate could not be validated.
Message Offers the option to edit the error message. See Changing the text of a message,
page 152, for information on customizing error messages. The pencil and the
magnifying glass icon are both links. See Viewing incident details, page 153,
for details.
Action Offers the option to change the status of an incident and to delete the incident.
See Deleting an incident, page 152.
When an administrator changes the status of an incident, that changes how Content
Gateway treats the listed URL in the future.
1. In the Content Gateway manager, go to the Configure > SSL > Incidents >
Incident List tab.
2. Identify the incident to update.
3. Select one of the following from the drop-down list in the Actions column. (See
The incident report, page 151, for an explanation of these options.)
■ Tunnel
■ Block
■ Blacklist
■ Allow
4. Click OK. The icon in the Status column changes to reflect the new status.
Deleting an incident
Help | Content Gateway | v8.4.x
1. In the Content Gateway manager, go to the Configure > SSL > Incidents >
Incident List tab.
2. Select the incident to delete. If the incident is not visible, you can search by ID.
See Viewing incidents, page 150.
3. In the Action column, select Delete from the Action drop-down list, and then click
OK.
If it is necessary or convenient, the entire Incident List can be deleted using a sqlite3
command:
sqlite3 /opt/WCG/config/new_scip3.db "delete from
certificate_acl;"
Use the Configure > SSL > Incidents > Add Website tab to specify sites that you
want to allow, blacklist, or tunnel. Sites that are added manually are assigned
chronological Ticket IDs. These appear on the Incident List. See Viewing incidents,
page 150.
1. Enter the URL of the site to add to the Incident List.
Note
When specifying an IPv6 address, enclose the address in
square brackets ([]).
■ Tunnel: (Valid for By URL only) The site is tunneled. Traffic is not decrypted
and Content Gateway does not check the certificate.
Important
Tunnel by URL does not work for all transparent proxy
requests.
It works under these conditions:
● When the client application uses TLS and includes an
SNI (server name indication), Content Gateway
checks the Incident list for the hostname in the SNI.
● When there is no SNI, Content Gateway connects to
the origin server to retrieve the certificate. If the
Common Name is a unique FQDN, Content Gateway
looks it up in the Incident list. If the Common Name
contains a “*” (wildcard), or is not a unique FQDN,
Content Gateway looks for the IP address in the
Incident list.
Alternatively, use ARM Static bypass rules.
■ Allow: Users can access the site even if the certificate is not valid. Traffic is
decrypted, and certificate checking is disabled.
■ Blacklist: The site is completely blocked. Users cannot access this site even if
the Verification Bypass is configured.
4. Click Apply.
As a best practice, administrators should manually add sites to the Incident List after
monitoring network traffic for a period of time with the CVE disabled. (See
Configuring validation settings, page 144.) This enables administrators to improve
performance by tunneling trusted sites and blocking those they know should not be
accessed.
Client certificates
Related topics:
● Importing client certificates, page 155
● When a client certificate is always required: the Hostlist, page 156
● Deleting client certificates, page 156
Related topics:
● Client certificates, page 154
● When a client certificate is always required: the Hostlist, page 156
● Deleting client certificates, page 156
Use the Configure > SSL > Client Certificates > Import tab in the Content Gateway
Manager to import certificates from the organization represented by the client.
Note that a network administrator may need to provide the key and passphrase
information needed to complete this configuration.
Important
Use only X.509-formatted, base64-encoded certificates.
Related topics:
● Client certificates, page 154
● Deleting client certificates, page 156
Use the Configure > SSL > Client Certificates > Hostlist tab in the Content
Gateway manager to list destination servers that always require a client certificate.
Be sure to import the certificate before adding it to the Hostlist (see Importing client
certificates, page 155).
1. Enter the IP address or hostname of the destination server that requires the client
certificate.
2. In the Client Certificate drop-down list, select the name of the client certificate.
Only certificates you have already imported appear in this list.
3. Click Add.
Important
For browsers that don’t send a Server Name Indicator
(SNI), such as Internet Explorer version 8 and earlier,
create an entry for both the destination IP address and the
hostname.
Related topics:
● Client certificates, page 154
● Importing client certificates, page 155
Use Configure > SSL > Client Certificates > Manage Certificates tab in the
Content Gateway manager to delete imported client certificates.
1. Select the certificate you want to delete.
2. Click Delete.
Administrators can use the tabs of the Configure > SSL > Customization page in the
Content Gateway manager as follows:
● Certificate Failure: customize the message users receive when they are trying to
connect to a site that has an invalid certificate.
● Connect Error: customize the message users receive when Content Gateway is
unable to connect to the destination web server.
The following variables may optionally be included in the message templates.
Note
There is a known problem in Internet Explorer 10 that
sometimes results in the wrong block page being displayed
in the Preview pane. To work around the problem, click
Preview repeatedly until the correct page is displayed, or
disable TLS 1.0.
The Content Gateway proxy can be configured to decrypt HTTPS traffic for analysis.
Port mirroring delivers all decrypted HTTPS traffic to a physical network interface.
This allows a trusted service device to inspect and analyze the decrypted data for its
own purpose. The trusted device, however, cannot modify the decrypted traffic and
inject it back into the data stream.
SSL decryption port mirroring is available only when the proxy is hosted on a
Forcepoint appliance. The feature can be enabled and configured using CLI
commands.
Important
The mirror port interface should not be connected to a live
network.
Administrators can configure Content Gateway to allow only certain clients to use the
proxy.
● When this configuration is in place, only clients whose IP address is included in
the ip_allow.config file can access the proxy.
Note
If an unauthorized client tries to access Content Gateway, a
message is displayed in their browser, indicating that the
requested content cannot be obtained.
Administrators can restrict access to the Content Gateway manager to ensure that only
authenticated users can change configuration options and view performance and
network traffic statistics.
Administrators can:
● Set the master administrator ID and password. A user who logs on to the Content
Gateway manager with the administrator ID has access to all Content Gateway
manager activities. See Setting the administrator ID and password, page 161.
● Create and maintain a list of user accounts that determines who can log on to the
Content Gateway manager and which activities they can perform. See Creating a
list of user accounts, page 161.
● Create an access control list of IP addresses that defines which machines can
access the Content Gateway manager. See Controlling host access to the Content
Gateway manager, page 162.
● Use SSL for secure administration. See Using SSL for secure administration, page
163.
The administrator who installs Content Gateway sets a password that controls
administrative access to the Content Gateway manager. A user who logs on to the
Content Gateway manager using the correct ID and password can view all the
statistics on the Monitor tab and change any configuration options on the Configure
tab.
To change the administrator ID and password in the Content Gateway manager:
1. Navigate to the Configure > My Proxy > UI Setup > Login tab.
2. To change the current administrator ID, under Administrator > Login, type a new
ID.
3. To change the current password, type the current password in the Old Password
field. Type the new password in the New Password field, and then retype the new
password in the New Password (Retype) field.
Passwords must be 8 to 15 characters and include at least one:
■ Uppercase character
■ Lowercase character
■ Number
■ Special character
Supported characters include:
! #%&'()*+,- ./;<=>?@[ ]^_ {|}~
The following special characters are not supported:
Space $ : ` \ "
If you have forgotten the current administrator password, see Accessing the
Content Gateway manager if you forget the master administrator password, page
13.
4. Click Apply.
If a single administrator ID and password for the Content Gateway manager is not
sufficient, an administrator can create a list of user accounts that define who has
access to the Content Gateway manager and which activities they can perform.
1. In the Content Gateway manager, go to the Configure > My Proxy > UI Setup >
Login tab.
2. Under Add New User, enter the name of the user allowed to access the Content
Gateway manager.
3. Enter the password for the user, and then enter the password again in the New
Password (Retype) field.
Passwords must be 8 to 15 characters and include at least one:
■ Uppercase character
■ Lowercase character
■ Number
■ Special character
Supported characters include:
! #%&'()*+,- ./;<=>?@[ ]^_ {|}~
The following special characters are not supported:
Space $ : ` \ "
4. Click Apply.
5. In the Access drop-down list of the user table, select which Content Gateway
manager activities the user can perform:
■ Select No Access to disable Content Gateway manager access for the user.
■ Select Monitor Only to allow the user to view statistics from the Monitor tab
only.
■ Select Monitor and View Configuration to allow the user to view statistics
from the Monitor tab and to view configuration options from the Configure
tab.
■ Select Monitor and Modify Configuration to allow the user to view
statistics from the Monitor tab and to change configuration options from the
Configure tab.
6. Click Apply.
7. Repeat this procedure for each user allowed to access the Content Gateway
manager.
Forcepoint Web Security uses the Secure Sockets Layer protocol (SSL) to protect
administrator communication with the Content Gateway manager. SSL security
provides authentication of both ends of a network connection using certificates, and
provides privacy using encryption.
Administrators can optionally replace the Forcepoint-provided certificate with a
custom certificate.
To do this:
1. Obtain an SSL certificate from a recognized certificate authority (for example,
VeriSign) or, if you use Active Directory Certificate Services, generate a
certificate using Certificate Services and a script provided with your Content
Gateway software. (See Creating an SSL Certificate for Content Gateway
manager with Active Directory Certificate Services.)
2. Install the certificate in the Content Gateway config directory (/opt/WCG/bin).
Either rename the certificate to the default filename (private_key.pem), or specify
the name of the certificate in the Content Gateway manager.
3. If you have used a name other than the default, log on to the Content Gateway
manager and navigate to the Configure > My Proxy > UI Setup > General tab.
The HTTPS option is enabled by default.
4. In the Certificate File field, specify the filename of the SSL certificate.
5. Click Apply.
Warning
Once the FIPS 140-2 option is enabled, it cannot be
disabled without completely reinstalling Content Gateway.
If Content Gateway is on an appliance, the appliance must
be reimaged.
Important
Where Forcepoint Web Security interfaces with some
other Forcepoint products, there may be a FIPS 140-2
boundary. These include:
● In Forcepoint Web Security, traffic that flows through
the cloud (Hybrid Module) does not use FIPS 140-2.
● Traffic to Forcepoint Advanced Malware Detection
does not use FIPS 140-2.
● Forcepoint DLP does not use FIPS 140-2.
● Forcepoint Mobile Security does not use FIPS 140-2.
● When RSA SecurID is configured for the Forcepoint
Security Manager logon, the connection to RSA
SecurID is not FIPS 140-2.
Important
Due to a system limitation, FIPS 140-2 mode cannot be
used with IWA fallback to NTLM or Legacy NTLM user
authentication.
4. To enable FIPS, restart Content Gateway. Otherwise, select Disable and click
Apply.
Note
Even after FIPS 140-2 mode is enabled, by default SHA-1
certificates continue to be used for logon to the
management consoles. To learn about how to create and
install stronger SHA certificates, see this article.
Content Gateway supports the ability to create rules that inspect requests for certain
parameters and, when matched, apply a specified action. Rules can be created to:
● Deny or allow URL requests
● Insert custom headers
● Allow specified applications, or requests to specified websites to bypass user
authentication
● Keep or strip header information from client requests
● Prevent specified applications from transiting the proxy
Note
To create rules for IWA, NTLM, and LDAP user
authentication, see Rule-Based Authentication, page 197.
To get started with Content Gateway user authentication
options, see Content Gateway user authentication, page
174.
Use the Configure > Security > Access Control > Filtering tab to create and modify
filtering rules. Rules are stored in the filter.config file.
● Rules are applied in the order listed, top to bottom. Only the first match is applied.
If no rule matches, the request proceeds.
● Secondary specifiers are optional. More than one secondary specifier can be used
in a rule. You cannot, however, repeat a secondary specifier.
● Three filtering rules are configured by default. The first denies traffic on port 25 to
all destinations. The second and third bypass user authentication for connections
to 2 Forcepoint Advanced Malware Detection destinations.
After adding, deleting, or modifying a rule, restart Content Gateway.
See filter.config for information about the structure of stored rules.
Note
The “radius” rule type is not supported.
4. Select a Primary Destination Type and then enter a corresponding value in the
Primary Destination Value field. Primary Destination Types include:
dest_domain: a requested domain name. The value is a domain name.
dest_host: a requested hostname. The value is a hostname.
dest_ip: a requested IP address. The value is an IP address.
url_regex: a regular expression to be found in a URL. The value is a regular
expression.
5. If the Primary Destination Type is keep_hdr or strip_hdr, select the type of
information to keep or strip from the Header Type drop down list. Options
include:
■ date
■ host
■ cookie
■ client_ip
6. If the rule applies to only inbound traffic on a specific port, enter a value for
Proxy Port.
7. If the rule type is add_hdr, specify the Custom Header and Header Value. The
Custom Header and Header Value must be values that the destination host
expects. See the example for Google Business Gmail below.
8. Provide values for any required or desired Secondary Specifiers. They include:
Time: specifies a time range, such as 08:00-14:00.
Editing a rule
1. In the Content Gateway manager, go to the Configure > Security > Access
Control > Filtering tab.
2. Click Edit File to open filter.config in the file editor.
3. In the list, select the rule to be modified and change the values as desired.
4. Click Set to update the rule and click Apply to save the rule.
5. Click Close to close the edit window.
Google provides a mechanism in the form of a custom header in the request, that
allows Google to recognize and allow or block access to enterprise gmail and other
Google Apps for Business.
To make Google’s solution work for enterprise gmail:
1. In the Web Security module of the Forcepoint Security Manager, permit the
category Internet Communication > General Email.
2. In the Content Gateway manager enable HTTPS (SSL decryption). If your site
does not already use SSL support, acquaint yourself with the feature before
enabling it.
3. In the Content Gateway manager, on the Configure > Security > Access Control
page, open filter.config and create an add_hdr rule.
Note
The add_hdr rule type can be used with any site that uses
a custom header-value pair to accomplish special handling.
a. Select add_hdr.
b. For Primary Destination Type select dest_domain.
c. For Primary Destination Value specify “mail.google.com”.
d. In the Custom Header field, specify “X-GoogApps-Allowed-Domains”.
e. In the Header Value field, specify your domain, or a list of domains separated
by commas. For example: www.example1.com,www.example2.com
f. Optionally, in the Source IP field specify the source IP address or address
range to which this rule will be applied. For example: 10.10.20.30 or
10.10.1.1-10.30.40.50.
g. Click Add to add the rule.
h. Click Apply to save all the changes, and then click Close to close the edit
window.
For Google’s description of the filtering solution, see the article Block access to
consumer accounts and services while allowing access to Google Apps for your
organization.
Related topics:
● Configuring SOCKS servers, page 171
● Setting SOCKS proxy options, page 172
● Setting SOCKS server bypass, page 173
● Content Gateway can act as a SOCKS proxy, relaying requests to and from the
SOCKS server (usually on port 1080).
● When Content Gateway is installed on an appliance it can act as a SOCKS server,
providing all of the services of a SOCKS server. (When Content Gateway is not
installed on an appliance, it cannot act as a SOCKS server.)
Note
Content Gateway does not perform authentication with the
client. However, Content Gateway can perform user name
and password authentication with a SOCKS server running
SOCKS version 5.
Content Gateway can be configured to work with one or more SOCKS servers in your
network. When Content Gateway is installed on an appliance, a SOCKS server is
included with the module.
Note
When Content Gateway is not installed on an appliance,
no SOCKS server is provided with Content Gateway.
You can always return to the editor, select the rule, make changes, and click
Set to save them.
5. If there are multiple SOCKS servers, after they have been added, or while they are
being added, you can arrange them in precedence-order by selecting an entry and
moving it up or down the list with the up and down arrows.
6. Click Apply to accept your changes, and Close to close the editor.
7. In the SOCKS Server Rules area you can create rules for specific routing and
bypass by destination IP address. See, Setting SOCKS server bypass, page 173.
8. To review configuration options that apply to all SOCKS servers, select the
Options tab.
a. Review and adjust the Server Connection Timeout value. It specifies how
many seconds Content Gateway waits attempting to connect to a SOCKS
server before timing out.
b. Review and adjust the Connection Attempts Per Server value. It specifies
how many times Content Gateway attempts to connect to a given SOCKS
server before marking the server as unavailable.
c. Review and adjust the Server Pool Connection Attempts value. It specifies
how many times Content Gateway attempts to connect to a given SOCKS
server in the pool before giving up.
9. When SOCKS server configuration is complete, click Apply and then go to
Configure > My Proxy > General and restart Content Gateway.
To remove a server from the list:
1. In the SOCKS Server area click Edit File.
2. In the list, select the entry you want to delete and click X, to the left of the list.
3. Click Apply and then Close, when you’re ready to exit the editor.
4. When configuration is complete, go to Configure > My Proxy > General and
restart Content Gateway.
To configure Content Gateway as a SOCKS proxy, you must enable the SOCKS proxy
option and specify the port on which Content Gateway accepts SOCKS traffic from
SOCKS clients.
As a SOCKS proxy, Content Gateway can receive SOCKS packets (usually on port
1080) from the client and forward requests directly to the SOCKS server.
Note
You must set SOCKS proxy options in addition to enabling
the SOCKS option and specifying SOCKS server
information described in Configuring SOCKS servers,
page 171.
You can configure Content Gateway to bypass SOCKS servers and access certain
origin servers directly.
1. Navigate to Configure > Security > SOCKS > Server. In the SOCKS Server
Rules area click Edit File to open socks.config.
2. To modify an existing rule, select it from the list, make your changes, and click
Set.
3. To create a new rule, specify the parameters and click Add.
a. Select a Rule Type:
Route through SOCKS server
Do not route through SOCKS server
b. Specify a destination IP address or range of addresses. Never specify the all
networks broadcast address: 255.255.255.255
c. Select the SOCKS servers to be used for the traffic.
d. Select whether the traffic will be distributed to the specified SOCKS servers
in round robin fashion.
e. Click Add to add the rule.
4. Click Apply and then Close.
5. Click Restart on Configure > My Proxy > Basic > General.
You can configure Content Gateway to use multiple DNS servers, depending on your
security requirements. For example, you can configure Content Gateway to look to
one set of DNS servers to resolve host names on your internal network, while allowing
DNS servers outside the firewall to resolve hosts on the Internet. This maintains the
security of your intranet, while continuing to provide direct access to sites outside
your organization.
To configure Split DNS, you must perform the following tasks:
● Specify the rules for performing DNS server selection based on the destination
domain, the destination host, or a URL regular expression.
● Enable the Split DNS option.
In the Content Gateway manager:
1. Go to the Configure > Networking > DNS Resolver > Split DNS tab.
2. Enable the Split DNS option.
3. In the Default Domain field, enter the default domain for split DNS requests.
Content Gateway appends this value automatically to a host name that does not
include a domain before determining which DNS server to use.
4. In the DNS Servers Specification area, click Edit File to open the configuration
file editor for the splitdns.config file.
5. Enter information in the fields provided, and then click Add. All the fields are
described in splitdns.config.
6. Click Apply, and then click Close.
7. On the Split DNS tab, click Apply to save your configuration.
8. Click Restart on Configure > My Proxy > Basic > General.
Related topics:
● Browser limitations, page 177
● Global authentication options, page 177
● Integrated Windows Authentication, page 183
● Legacy NTLM authentication, page 189
● LDAP authentication, page 191
● RADIUS authentication, page 194
● Rule-Based Authentication, page 197
● Mac and iPhone/iPad authentication, page 222
● LDAP authentication
● RADIUS authentication
Content Gateway also supports combinations of Integrated Windows Authentication
(IWA), Legacy NTLM, and LDAP using:
● Rule-Based Authentication, page 197
during Windows logon are used for proxy authentication and the user is not prompted
again for a username and password.
Interactive authentication is supported in networks that are not configured for Single
Sign-On and for use with browsers that don’t support Single Sign-On. With interactive
authentication, users are prompted for credentials before they can access content
through Content Gateway.
Browser limitations
Help | Content Gateway | v8.4.x
Note
Please see the Web Protection Solutions Release Notes
for the most up-to-date information.
Use the Configuration > Security > Access Control > Global Authentication
Options page to configure:
● User authentication Fail Open/fail closed behavior
● Credential Caching options
Fail Open
Fail Open specifies whether requests are allowed to proceed for processing when user
authentication fails.
When Fail Open is enabled and a Forcepoint Web Security transparent identification
agent is configured, if authentication fails and the client is identified by the agent,
user-based policy is applied. If the user cannot be identified and a policy is assigned to
the client’s IP address, that policy is applied. Otherwise, the Default policy is applied.
Important
The Fail Open setting does not apply when IWA is the
authentication method and the client fails to retrieve a
kerberos ticket from the domain controller (DC) because
the DC is down.
The Fail Open setting does apply with IWA when IWA
falls back to NTLM.
The Fail Open setting does not apply when using LDAP in
explicit proxy mode.
Options include:
● Disabled – specifies that requests do not proceed when authentication failures
occur.
● Enabled only for critical service failures (default) – specifies that requests
proceed if authentication fails due to:
■ No response from the domain controller
■ The client is sending badly formatted messages
Important
When user authentication is rule-based with a domain list:
● If Enabled only for critical service failures is
selected, when a critical service failure occurs fail
open is not applied. An error always results in fail
closed.
● If Enabled for all authentication failures, including
incorrect password is selected, after trying basic
credentials with every domain in the list, fail open is
applied.
Credential Caching
Credential Caching options include:
● Caching Method
● Cache Time-To-Live (TTL), in minutes
● LDAP Specific Settings
Credential caching settings apply to all clients whether Content Gateway is an explicit
or transparent proxy.
Credential caching applies to:
● All authentication methods when Content Gateway is a transparent proxy
● When Content Gateway is an explicit proxy:
■ Integrated Windows Authentication (IWA)
■ Legacy NTLM
When IWA authenticates with Kerberos, Kerberos handles ticket (credential) caching.
some with unique IP addresses and some using multi-user hosts or that are subject to
NATing.
The cookie caching list is a comma separated list that can contain up to:
● 64 IPv4 addresses
● 32 IPv4 address ranges
● 24 IPv6 addresses
● 12 IPv6 address ranges
For a description of surrogate credentials, see Surrogate credentials.
Important
Cookie mode caching:
● Cookie mode caching does not work with applications
that do not support cookies, or with browsers in which
cookie support has been disabled.
● When the browser is Internet Explorer, the full proxy
hostname in the form “http://host.domain.com” must
be added to the Local intranet zone.
● When the browser is Chrome, it must be configured to
allow third-party cookies or configured for an
exception to allow cookies from the proxy hostname in
the form “host.domain.com”.
● When the IP address is set for cookie mode and the
request method is CONNECT, no caching is
performed.
● Cookie mode caching is not performed for FTP
requests.
● Cookie mode caching is supported by Captive Portal
and client certificate authentication.
● For explicit proxy, cookie-based authentication is not
supported for HTTPS. IP-address authentication is
used.
Note
The user interface setting to disable the NTLM cache for
explicit proxy has been removed. Although not
recommended, the cache can be disabled for explicit proxy
traffic in records.config by setting the value of
proxy.config.ntlm.cache.enabled to 0 (zero).
Cache Time-To-Live
Cache Time-To-Live (TTL) specifies the duration, in minutes, that an entry in the
cache is retained. When the TTL expires, the entry is removed and the next time that
the user submits a request, the user is authenticated. If the authentication succeeds, an
entry is placed in the cache.
The default TTL is 15 minutes. The range of valid values is 5 to 1440 minutes.
Redirect Hostname
Redirect Hostname specifies an alternate hostname for the proxy.
Note
Redirect Hostname is not used by Integrated Windows
Authentication.
Note
To ensure that user authentication for transparent proxy
occurs transparently (without prompting the user for
credentials), the browser must be configured so that the
Redirect Hostname is in its Intranet Zone. Typically, this
is achieved by ensuring that the Redirect Hostname is in
the same domain as the computer on which the browser is
running. For example, if the client is
workstation.example.com and the Redirect Hostname is
proxyhostname.example.com, the browser allows
authentication to occur transparently. Consult your
browser documentation.
Note
Content Gateway supports transparent authentication in
proxy clusters that use WCCP load distribution. However,
the assignment method distribution attribute must be
the source IP address. For more information see WCCP
load distribution, page 54.
Cookie Sharing
Authentication credentials cached with cookie surrogates can be shared across all
nodes in a cluster.
When cookie mode caching is enabled, after a user is authenticated the cookie for that
user is used for subsequent authentication attempts by any of the proxies that are
clustered with the proxy that did the initial authentication. This feature is especially
useful in load balanced environments.
When either Cache using Cookies only or Cache using both IP addresses and
Cookies is enabled, the Cookie Sharing option is automatically enabled.
Note
All proxies in the cluster must use the same caching
method when cookie sharing is enabled.
● Select Choose File for both Public and Private keys to import your own keys for
use with this feature. Browse to the file you want to use and select it. Files must be
in PEM format.
The same keys must be imported for each proxy in the cluster.
● After selecting each file, click Import Keys to import custom keys
(recommended) and store them in the default location.
Note that default keys are provided and are added when the product is installed or
upgraded. The default files are:
/opt/WCG/config/cookie_auth_public.pem
/opt/WCG/config/cookie_auth_private.pem
Select the files you wish to import. The custom keys are automatically copied to
this folder and renamed to the default names.
Important
When custom keys are imported, the default files provided
by Forcepoint are overwritten. You should backup the
default keys prior to importing. See Save Public Key and
Save Private Key below.
Keys must be PKCS#1 RSA public keys and are RSA 1024/2048/4096 bit public
and private key pairs without a passphrase. Use the following commands to
generate keys:
openssl genrsa -out cookie_auth_private.pem 1024
openssl rsa -in cookie_auth_private.pem -RSAPublicKey_out -out
cookie_auth_public.pem
Change 1024 to 2048 or 4096 to generate 2048 or 4096 bit keys.
● Select Save Public Key and Save Private Key to make a backup of the files.
Select the location and filenames to use for the backup copy, keeping in mind that
the default names are always used for the active keys.
Key files should be backed up prior to importing new keys.
When load balancing has been configured, all proxies must use the same setting for
Redirect Hostname. The value must be the fully qualified domain name (FQDN) of
the load balancer.
Important
Cookie sharing has the following limitations:
● Cookie caching limitations also apply to cookie
sharing. Therefore, since cookie caching is not
supported for CONNECT requests, cookie sharing is
not supported.
● Custom keys must be imported manually. Custom
Keys are not synchronized across the cluster.
● Cookie sharing is not supported with client certificate
authentication.
Surrogate credentials
Surrogate credentials are entries placed in the credential cache after initial successful
authentications.
● An IP address surrogate ties a credential to an IP address and assumes that the IP
address is used by only one user at any given time.
● A cookie surrogate is tied to a cookie placed on the client’s system and depends on
client application support for cookies. This method is required when a client IP
address is shared by more than one user at a time, as with multi-user hosts such as
Citrix servers.
After the initial successful authentication, Content Gateway uses the surrogate
credential to respond to subsequent authentication requests on behalf of the user, thus
reducing latency and the load on domain controllers and directory services. Credential
surrogate entries are deleted when the Time-To-Live expires.
Note
Microsoft Edge does not support trusted sites. Intranet
sites are required for clients using Edge.
a. In the Domain Name field, enter the fully qualified domain name.
b. In the Administrator Name field enter the Windows Administrator user
name.
c. In the Administrator Password field enter the Windows Administrator
password.
The name and password are used only during the join and are not stored.
d. Select how to locate the domain controller:
○ Auto-detect using DNS
○ DC name or IP address
If the domain controller is specified by name or IP address, you can also
specify backup domain controllers in a comma separated list, no spaces.
e. In the Content Gateway Hostname field, confirm that the hostname is the
correct hostname and that it is no more than 15 characters (no more than 11
characters on appliances). If it is longer, it must be shortened if IWA is to be
used. The length restriction results from the 15 character limit on NetBIOS
hostnames.
Warning
Do not change the hostname after the domain is joined. If
the hostname is changed, IWA immediately stops working
and will not work again until the domain is unjoined and
then re-joined with the new hostname.
f. Click Join Domain. If there is an error, ensure that the conditions outlined
above are met and then see Failure to join the domain.
Important
All clients subject to authentication must be joined to the
domain.
Browsers and other proxy clients must be configured to
specify the FQDN of Content Gateway as an intranet site
or trusted site.
g. Restart Content Gateway and run some test traffic through the proxy to verify
that authentication is working as expected. If there is a problem, see
Troubleshooting Integrated Windows Authentication.
Important
After upgrade, check and, if necessary, rejoin IWA
domains.
● Kerberos then returns a ticket for the load balancer’s VIP, which the client then
sends to Content Gateway.
● Because the ticket is not issued for the proxy’s IP address, but rather for the load
balancer’s VIP, Content Gateway cannot decrypt the ticket and authentication
fails.
To restate the problem, it’s not possible to configure clients to request Content
Gateway’s Kerberos ticket because the client’s operating system handles the ticket
request based on the FQDN of the proxy, which resolves to the VIP of the load
balancer.
Normally, Content Gateway would be configured to share the hostname of the load
balancer, but this is not possible when the load balancer requires hostname resolution
(as with DNS-based load balancing).
Because it’s not possible to stop clients from sending a load-balancer’s Kerberos ticket
to Content Gateway, the proxies must be configured to accept the load-balancer’s
ticket, making the Content Gateway nodes appear as the load-balancer within the
scope of Kerberos.
Please contact Technical Support for detailed, step-by-step configuration instructions.
● The error message usually includes a link to the failure log where you can get
more details.
● Join failures are logged to /opt/WCG/logs/smbadmin.join.log
● In most cases, the failure message in the log is a standard Samba and Kerberos
error message that is easily found with an Internet search.
Troubleshooting:
In the Content Gateway manager, use the Diagnostic Test function on the Monitor >
Security > Integrated Windows Authentication tab. This Monitor page displays
authentication request statistics and provides the diagnostic test function.
The Diagnostic Test function performs connectivity and authentication testing and
reports errors. It also shows domain controller TCP port connectivity and latency.
Errors and messages are logged to:
● /var/log/messages
● content_gateway.out
● /opt/WCG/logs/smbadmin.log
● /opt/WCG/logs/smbadmin.join.log
Performance issues:
● IWA (Kerberos): Authentication performance is bound by CPU. There is no
communication to the domain controllers for Kerberos authentication.
Content Gateway supports the NTLM (NT LAN Manager) authentication protocol as
a method of ensuring that users in a Windows network are authenticated before they
access the Internet.
Important
This implementation of NTLM support (Legacy NTLM)
relies solely on the NTLMSSP protocol. Although it
performs reliably as documented in this section, it is highly
recommended that the Integrated Windows Authentication
mode be used instead. It provides more robust and secure
support for NTLM.
Important
If rule-based authentication will be used, configure Legacy
NTLM authentication through the Rule-Based
Authentication option.
However, read this section to become familiar with Legacy
NTLM features and restrictions.
When the Legacy NTLM option is enabled, the proxy challenges users who request
content for proof of their credentials. The proxy then sends the proof of the user’s
credentials directly to the Windows domain controller to be validated. If the
credentials are valid, the proxy serves the requested content and stores the credentials
in the NTLM cache for future use. If the credentials are not valid, the proxy sends an
authentication failed message.
Restrictions:
1. WINS resolution is not supported. Domain controllers must have host names that
can be resolved by a DNS server.
2. Extended security is not supported and cannot be enabled on the domain
controller.
3. NTLM2 session security is not supported and cannot be enabled on clients. In the
Security Settings area of the Windows operating system, inspect the Network
Security: Minimum session security settings.
4. NTLMv2 is not supported with Active Directory 2008. The required Network
Security: LAN Manager Authentication setting is described in step 5 of
Configuring NTLM proxy authentication, below.
Note
If you are using Active Directory 2008, you must include
the netbios_name or use SMB port 445. If you do not use
port 445, you must ensure that the Windows Network File
Sharing service is running on the Active Directory server.
See your Windows Server 2008 documentation for details.
Note
If you are using Active Directory 2008, in the Windows
Network Security configuration, LAN Manager
Authentication level must be set to Send NTLM
response only. See your Windows Server 2008
documentation for details.
6. Enable Load Balancing if you want the proxy to balance the load when sending
authentication requests to multiple domain controllers.
Note
When multiple domain controllers are specified, even if
load balancing is disabled, when the load on the primary
domain controller reaches the maximum number of
connections allowed, new requests are sent to a secondary
domain controller as a short-term failover provision, until
such time that the primary domain controller can accept
new connections.
7. Click Apply and restart Content Gateway (Configure > My Proxy > Basic >
General).
Optionally, you can configure Content Gateway to allow certain clients to access
specific sites on the Internet without being authenticated by the NTLM server; See
Access Control, page 320).
LDAP authentication
Help | Content Gateway | v8.4.x
Content Gateway supports the LDAP option to ensure that users are authenticated
with an LDAP server before accessing content through the proxy.
Important
If rule-based authentication will be used, configure LDAP
authentication through the Rule-Based Authentication
option. However, read this section to become familiar with
LDAP features and restrictions.
Note
When the LDAP directory service is Active Directory,
requests from users located outside the global catalog’s
base domain will fail to authenticate. This is because the
default port for LDAP is 389 and requests sent to 389
search for objects only within the global catalog’s base
domain. To authenticate users from outside the base
domain, change the LDAP port to 3268. Requests sent to
3268 search for objects in the entire forest.
7. Enable Secure LDAP if you want the proxy to use secure communication with
the LDAP server. Secure communication is performed on port 636 or 3269.
Change the port value in the previous field, if necessary.
8. Select the type of directory service to set the filter for searching.
■ Microsoft Active Directory (sAMAccountName) sets the type to
sAMAccountName (default).
■ Microsoft Active Directory (userPrincipalName) sets the type to
userPrincipalName.
■ Other sets the type to uid for eDirectory or other directory services.
9. Enter the Bind Distinguished Name (fully qualified name) of a user in the
LDAP-based directory service. For example:
CN=John Smith,CN=USERS,DC=MYCOMPANY,DC=COM
Enter a maximum of 128 characters in this field.
If no value is specified for this field, the proxy attempts to bind anonymously.
10. Enter a password for the user specified in the previous step.
11. Enter the Base Distinguished Name (DN). Obtain this value from your LDAP
administrator.
12. Click Apply.
13. Click Restart on Configure > My Proxy > Basic > General.
As optional steps, you can:
● Change LDAP cache options. See Setting LDAP cache options, page 193.
● Configure Content Gateway to allow certain clients to access specific sites on the
Internet without being authenticated by the LDAP server. See Access Control,
page 320).
Variable Description
proxy.config.ldap.cache.size Specify the number of entries
allowed in the LDAP cache.
The default value is 5000. The
minimum value is 256.
proxy.config.ldap.auth.ttl_value Specify the number of minutes
that Content Gateway can
store username and password
entries in the LDAP cache.
proxy.config.ldap.cache. Specify the maximum amount
storage_size of space (in bytes) that the
LDAP cache can occupy on
disk.
When modifying this value,
you must update the value of
proxy.config.ldap.cache.size
proportionally. For example, if
you double the storage size,
also double the cache size.
Modifying this variable
without modifying
proxy.config.ldap.cache.size
causes the LDAP subsystem to
stop functioning.
Note
The Directory Service must be configured to support
LDAPS authentication. See to the documentation provided
by the directory provider for instructions.
RADIUS authentication
Help | Content Gateway | v8.4.x
Content Gateway supports the RADIUS option to ensure that users are authenticated
with a RADIUS server before accessing content through the proxy.
When the RADIUS option is enabled:
■ Content Gateway acts as a RADIUS client and directly challenges users who
request content for a username and password.
■ After receiving the username and password, Content Gateway contacts the
RADIUS server to check that the credentials are correct.
■ If the RADIUS server accepts the username and password, the proxy serves
the client with the requested content and stores the username and password
entry in the RADIUS cache; all future authentication requests for that user are
served from the RADIUS cache until the entry expires.
■ If the RADIUS server rejects the username and password, the user’s browser
displays a message indicating that authorization failed and prompts again for
a username and password.
Content Gateway supports a primary RADIUS server and a secondary RADIUS
server for failover. If the primary server does not respond to the proxy request within
the specified timeout (60 seconds by default), Content Gateway tries to check the
username and password again. If a response from the primary RADIUS server is not
received after the maximum number of retries (10 by default), the proxy contacts the
secondary RADIUS server. If Content Gateway cannot contact the secondary
RADIUS server, the user is prompted again for a username and password.
The RADIUS cache is held in memory and stored on disk. Content Gateway updates
the data on disk every 60 seconds. In addition, Content Gateway stores username and
password entries in the RADIUS cache for 60 minutes. If a password and username
entry is expired in the RADIUS cache, Content Gateway contacts the RADIUS server
to accept or reject the username and password.
To configure Content Gateway to be a RADIUS client:
● Enable the RADIUS option.
● Specify the hostname or IP address of the primary and secondary (optional)
RADIUS servers, and the port and shared key that Content Gateway uses to
communicate with the RADIUS servers.
See Configuring Content Gateway to be a RADIUS client, page 195.
Note
In addition to performing these procedures, you must add
the Content Gateway machine as a trusted client on the
primary and secondary RADIUS servers and provide the
shared key you want to use for the Content Gateway
machine (the shared key must be the same one you specify
in the procedure below). See your RADIUS server
documentation.
Variable Description
proxy.config.radius.auth. Specify the amount of time
min_timeout in seconds that the Content
Gateway connection to the
RADIUS server remains
idle before Content
Gateway closes the
connection.
proxy.config.radius.auth. Specify the maximum
max_retries number of times Content
Gateway tries to connect to
the RADIUS server.
proxy.config.radius.cache.size Specify the number of
entries allowed in the
RADIUS cache.
The minimum value is 256
entries. If you enter a value
lower than 256, Content
Gateway signals a SEGV.
proxy.config.radius.auth.ttl_value Specify the number of
minutes that Content
Gateway can store username
and password entries in the
RADIUS cache.
proxy.config.radius.cache. Specify the maximum
storage_size amount of space that the
RADIUS cache can occupy
on disk.
This value must be at least
100 times the number of
entries. It is recommended
that you provide the
maximum amount of disk
space possible.
Rule-Based Authentication
Help | Content Gateway | v8.4.x
Related topics:
● Global authentication options, page 177
● Rule-based authentication Domain list, page 202
● Creating an authentication rule, page 207
● Working with existing authentication rules, page 210
● Rule-based authentication use cases, page 211
● Authentication based on User-Agent, page 214
● Authentication using Captive Portal
● Client certificate authentication, page 218
● Troubleshooting authentication rules, page 219
Note
If all the users in your network can be authenticated by
domain controllers that share trust relationships, you
probably don’t need rule-based authentication.
However, the option is well suited to single domain
environments that may benefit from multiple rules based
on IP addresses, inbound proxy port (explicit proxy), and/
or User-Agent values.
Note
Credential caching configuration is performed on the
Configure > Security > Access Control > Global
Configuration Options tab. On that page you specify IP
address caching, cookie caching, or both. The setting
applies to both transparent proxy and explicit proxy traffic.
When both IP address caching and cookie caching are
specified, the IP addresses that cookie caching is applied to
must be specified.
See Credential Caching for more information.
Logic:
● One or more rules are defined for clients and domains (Configure > Security >
Access Control > Authentication Rules).
● When a request for web content is received:
■ A top-down rule list traversal begins
■ The first match is applied
■ If the rule includes a list of domains, authentication proceeds as follows:
○ The proxy attempts to authenticate with the first domain using the method
configured for that domain. For example, if the first domain is IWA,
Content Gateway transparently negotiates with the browser for credentials
(407 or 401).
○ If authentication fails and Content Gateway hasn’t already challenged
(prompted) for credentials, it then prompts for credentials.
Exception: When Content Gateway is an explicit proxy, the first and
second domains are IWA, and the client has a ticket from the
authentication domain, there is no prompt for basic credentials. Instead,
Content Gateway uses the Kerberos ticket provided by the client to
attempt to authenticate with the second domain. If the attempt fails and
the fallback to NTLM authentication fails, the user is prompted for
credentials.
When Content Gateway is a transparent proxy the standard behavior
applies. This is because when the user is not a member of the first domain,
the request for a Kerberos ticket fails because the client does not trust the
FQDN sent with the request. The fallback to NTLM authentication also
fails and the user is prompted for credentials.
○ Content Gateway then uses the basic credentials with each domain,
starting with the second, proceeding sequentially until authentication
succeeds or the list is exhausted.
○ Content Gateway then uses the basic credentials to attempt, again, to
authenticate with the first domain.
Important
Content Gateway must be configured with a DNS server
that can resolve the fully qualified domain name (FQDN)
of Content Gateway for every realm used by IWA. If this
isn’t done, IWA fails to work. How to configure the DNS
server is up to the network administrator. One option is to
configure a DNS transfer zone (Sub Zone) between the
primary DNS server of Content Gateway and the DNS
server of each authentication realm (isolated domain).
Important
You must also configure your clients to use the correct
port.
2. Configure Global authentication options, page 177 (Configure > Security >
Access Control > Global Authentication Options).
3. Create a domain list (Configure > Security > Access Control > Domains).
○ To specify a domain in a rule, it must be a member of the Domain List.
○ Active Directory domains used with IWA must be joined.
Important
In rule-based authentication, Content Gateway may
authenticate users that are outside the User Service
primary domain. In these cases, Content Gateway can be
configured to send an “alias” user name that User Service
knows about. Or, you can send no name, in which case
standard Filtering Service precedence is applied to
determine the correct policy. (See Enforcement order in
Administrator Help for the Web module.) This
specification is made for each domain in the Domain list.
For more information, see Unknown users and the ‘alias’
option, below.
4. Create authentication rules (Configure > Security > Access Control >
Authentication Rules).
5. Restart Content Gateway to make the new rules take effect.
To use rule-based authentication, you create and maintain a Domain List. There must
be at least one domain on the list before an authentication rule can be defined.
When a domain is added to the list, the authentication method is specified.
When a rule is defined, the domain or domains are selected from the domain list.
Supported domain types include:
● Active Directory (AD) domains to be used with IWA. These domains must be
joined by Content Gateway, as well as by its members (users).
● Domain Controllers (DC) to be used with Legacy NTLM
● AD and uid domain controllers and directory servers to be used with LDAP
See:
● Adding an Active Directory domain for use with IWA
● Adding an NTLM domain controller for use with Legacy NTLM
● Adding a domain (directory service) for use with LDAP
Warning
Do not change the hostname after the domain is joined. If
it is changed, IWA immediately stops working and will not
work again until the domain is unjoined and then re-joined
with the new hostname.
To change the way the domain controller is found, and other attributes
1. On the Domains page, in the list select the domain you want to change and click
Edit.
2. In the IWA Domain Details section, select how to locate the domain controller:
■ Auto-detect using DNS
■ DC name or IP address
If the domain controller is specified by name or IP address, you can also
specify backup domain controllers in a comma separated list, no spaces.
3. You can also change the Aliasing setting. See Unknown users and the ‘alias’
option, page 202.
4. Click Apply.
1. Go to Configure > Security > Access Control > Domains and click New
Domain.
2. Select Legacy NTLM from the Authentication Method drop down box.
3. In the Domain Identifier field, enter a unique name that will help you recognize
the domain and its purpose. After the domain is added, the name cannot be
changed.
4. Optionally, configure the Aliasing option. For information see: Unknown users
and the ‘alias’ option, page 202.
5. In the Legacy NTLM Domain Details section:
a. In the Domain Controller entry field enter the IP address and port number of
the primary domain controller. If no port is specified, Content Gateway uses
port 139.
You can also specify secondary domain controllers in a comma-separated list.
The supported formats are:
host_name[:port][%netbios_name]
IP_address[:port][%netbios_name]
The netbios_name is required with Active Directory 2008.
b. Specify whether load balancing should be applied among multiple DCs.
Note
Even if load balancing is not selected, if multiple domain
controllers are specified and the load on the primary
domain controller reaches the maximum number of
connections allowed, new requests are sent to a secondary
domain controller as a short-term fail over provision, until
such time that the primary domain controller can accept
new connections.
■ If the LDAP server rejects the username and password, the user’s browser
displays a message indicating that authorization failed and prompts again for
a username and password.
LDAP authentication supports both simple and anonymous bind.
To add an LDAP domain to the Domains list:
1. Go to Configure > Security > Access Control > Domains and click New
Domain.
2. Select LDAP from the Authentication Method drop down list.
3. In the Domain Identifier field, enter a unique name that will help you recognize
the domain and its purpose. After the domain is added, the name cannot be
changed.
4. Optionally, configure the Aliasing option. For information see: Unknown users
and the ‘alias’ option, page 202.
5. In the LDAP Domain Details section:
a. In the LDAP Server Name field, enter the fully qualified domain name or IP
address of the LDAP server.
b. If the LDAP server port is other than the default (389), in the LDAP Server
Port field, enter the LDAP server port.
c. Enter the LDAP Base Distinguished Name. Obtain this value from your
LDAP administrator.
d. Select the LDAP Server Type from the drop down list.
○ Select sAMAccountName (MS AD) for Active Directory.
○ Select userPrincipalName (MS AD) for Active Directory.
○ Select uid (Other LDAP) for other directory services.
e. In the Bind Domain Name field, enter the bind distinguished name. This
must be a Full Distinguished Name of a user in the LDAP directory service.
For example:
CN=John Smith,CN=USERS,DC=MYCOMPANY,DC=COM
f. In the Bind Password field, enter the password for the name given in the
Bind Domain Name field.
g. Enable Secure LDAP if you want Content Gateway to use secure
communication with the LDAP server. If enabled, set the LDAP port to 636 or
3269.
6. Click Add Domain.
A confirmation dialogue displays. Confirm that you want to remove the domain from
the list.
Warning
When a domain is removed, it is also removed from any
authentication rules that specify it.
If it is the only domain specified in a rule, when the
domain is removed the rule is made invalid and, therefore,
the rule is removed.
Note
In the Rule editor, after entering all specifiers, click Add
before clicking Apply. If Apply is clicked first, or the edit
window is closed, all entry fields are cleared.
The size of a rule cannot exceed 2048 characters.
1. Go to Configure > Security > Access Control and review and adjust the Global
Authentication Options and Domains list.
2. If AD domains are used with IWA, go to Monitor > Security > Integrated
Windows Authentication and confirm that the IWA domains are joined and that
connections are established.
3. Go to Configure > Security > Access Control > Authentication Rules. A list of
existing authentication rules is displayed at the top of the page.
4. Click Edit File to open the rule editor.
5. If some rules have already been defined, note the order of the rules in the list at the
top of the page.
Important
Rule order matters. The rule match traversal is performed
top-to-bottom. Only the first match is applied.
6. Select Enabled next to Status if you want the rule to be active after the rule is
added and Content Gateway is restarted.
7. Enter a unique Rule Name (required). A short, descriptive name will help you
recognize the rule and its purpose. It is recommended that the name not exceed 50
characters.
8. If the rule applies to specific IP addresses, in the Source IP field, enter a comma-
separated list of individual IP addresses and/or IP address ranges. Do not use
spaces. For example:
10.4.1.1,10.12.1.1-10.12.254.254
The list can contain up to:
■ 64 IPv4 addresses
■ 32 IPv4 address ranges
■ 24 IPv6 addresses
■ 12 IPv6 address ranges
Source IP address ranges can overlap. Overlapping ranges may be useful as a
quick way of identifying sub-groups in a large pool. In overlapping ranges, the
first match is used.
If this field is empty (undefined), all IP addresses match.
9. If the rule applies to inbound traffic on a specific port, select the Proxy Port from
the drop down list. This option is valid with explicit proxy only.
Inbound ports are specified on the Configure > My Proxy > Protocols >
HTTP > General page in the Secondary HTTP Proxy Server Ports field. Client
applications must be configured to send requests to the desired port.
If undefined, all ports match. Transparent proxy deployments should leave the
field undefined.
10. To apply the rule to specific User-Agent values, enter POSIX-compliant regular
expressions (regex) to match the desired values. To specify a common browser
type, select a Predefined regex from the drop down list and click Include.
If undefined, all User-Agents match.
You can edit the field directly.
Use the “|” character (logical ‘or’) to separate regexes.
The “^” regex operator is not supported.
The regex is validated when the rule is committed to the configuration file, which
happens after clicking Add or Set and then Apply. If the regex is not valid, the
rule is deleted and must be recreated with a valid regex.
For an extended description and examples, see Authentication based on User-
Agent, page 214.
11. Click Enabled next to Client Certificate to enable client certificate authentication.
Click Disabled to disable the feature.
a. In the drop-down box next to Enabled, select a Client Certificate
Authentication profile. See Client certificate authentication profiles, page
219.
Only one profile is allowed.
b. Check the box next to Use the next selected authentication method if
Client Certificate authentication fails to use one of the other authentication
methods if certificate authentication fails for a user.
If this option is not selected, no further authentication is attempted for users
who fail certificate authentication.
If the fallback option is enabled,
○ The Domain Sequence list cannot be empty.
○ Enable HTTP Authentication Page for Captive Portal is not supported
and the option is disabled when the fallback option is selected.
12. Specify the domain(s) to authenticate against.
a. From the Domains drop down list, select the applicable domain and click
Include. Only domains that have been added to the Domains list are available
(Configure > Security > Access Control > Domains).
b. If an ordered list of domains will be used, select each domain one at a time
and click Include. Then select domains in the list and use the up and down
arrows to achieve the desired order.
Important
The Fail Open/fail closed setting is applied after every
domain in the list is tried.
Note that if client certificate authentication is enabled with Use the next
selected authentication method if Client Certificate authentication fails
option selected, this option is disabled.
This option is disabled if an IWA domain is included in the domains list.
If this option is enabled and an IWA domain is added to the domains list, an error
message will display.
Note that when Content Gateway receives an unauthenticated POST request from
a user who matches a Captive Portal rule, it redirects the user to the web portal
authentication page and does not record the POST data. After successful
authentication, the original POST data must be input again.
See Authentication using Captive Portal for additional details.
14. Click Add to add the rule.
15. At the top of the page, check and adjust the position of the rule in the rule list. The
first rule matched is applied.
16. Click Apply and then restart Content Gateway to put the rule into effect.
Warning
If a rule has invalid values, a warning message displays
that identifies the invalid rule. The rule in not written to the
file.
Use the rule editor in the Content Gateway manager. Do not directly edit
auth_rules.config.
Editing a rule
1. Go to Configure > Security > Access Control > Authentication Rules and click
Edit File.
2. In the table of rules, click on the rule to be changed. Its values populate the fields
in the definition area.
3. Make the desired changes, click Set and then click Apply.
Important
If a field value is not valid, the rule is not commit ed and
the rule entry is discarded. To avoid difficulty in recreating
a rule, separately record the field values so that it is easy to
correct the bad field value and recreate the rule.
4. Click Close to return to the Authentication Rules tab and click Refresh to see
the updated list.
5. Restart Content Gateway to put the changes into effect.
Deleting a rule
1. Go to Configure > Security > Access Control > Authentication Rules and click
Edit File.
2. In the table of rules, click on the rule to be deleted and click the “X” button on the
left.
3. When you are done deleting rules, click Apply.
4. Click Close to return to the Authentication Rules tab and click Refresh to see
the updated list.
5. Restart Content Gateway to put the changes into effect.
Multiple realm use case 1: Domain acquired; explicit proxy, page 211
Multiple realm use case 2: Internal domain added; explicit proxy, page 212
Multiple realm use case 3: Temporary domain added; transparent proxy, page 213
Authentication based on User-Agent, page 214
have a separate use policy for New Corp users (i.e., not use the “default” user on the
QCORP domain).
Rule-based authentication makes this possible.
To configure the solution, Quality Corp would:
1. Enable Rule-Based Authentication.
2. Add a second, non-default HTTP port (Configure > Protocols > HTTP >
General). This port will be used by all members of NCORP.
3. Create a PAC file for members of NCORP that causes them to connect to Content
Gateway on the new, second port.
4. Create authentication rules, one each for the QCORP and NCORP domains:
a. On Configure > Security > Access Control > Domains, add the QCORP
and NCORP domains to the Domains list.
○ When adding NCORP, use the Aliasing option to specify “NCorpUser” for
use in policy determination.
b. On Configure > Security > Access Control > Authentication Rules, create
an NCORP rule for connections on the second port. You must know the IP
addresses/ranges of New Corp users, and specify the NCORP domain.
c. Define the QCORP rule to handle all other connections.
5. In the Web module of the Forcepoint Security Manager, add “NCorpUser” to the
QCORP domain as a valid user and create policy for that user.
At this point, everyone connecting to Content Gateway from NCORP is authenticated
against the NCORP domain controller and gets the group policy associated with
NCorpUser. Note that no individual user-based policy or features, such as quota time,
are possible in this scenario. Transactions are logged as NCorpUser. This is all
performed with no effect on the authentication, policy, or logging of users on the
QCORP domain.
a. On Configure > Security > Access Control > Domains, add the CTEMP
domain, enable Aliasing and leave the name field blank. This will have the
result of applying the Default policy to all users of CTEMP.
b. Add the CCORP domain to the Domains list.
c. On Configure > Security > Access Control > Authentication Rules, create
a CTEMP rule to apply to all connections coming from the IP address range
assigned to the CTEMP domain.
d. Define the CCORP rule to handle all other connections.
At this point, anyone using the Internet on one of the kiosks is authenticated against
the CTEMP network and has the Default policy applied to their requests.
Microsoft Edge
Edge ([1]{1}[\.0-9]{0})
Example User-Agent string:
Search the Internet for lists of User-Agent strings, example regular expressions, regex
checkers, and related resources.
Use case:
This describes a case in which an organization with a single domain wants to
authenticate requests from 2 common web browsers. They also want to bypass
authentication for web applications that do not support authentication.
An organization—let’s call it Best Corp—uses Content Gateway. They have one
domain (BCORP), and one domain controller. They use IWA to authenticate users.
Best Corp wants to ensure that:
● Requests from common web browsers are authenticated. They control which web
browsers are allowed on their computers.
● Web applications that don’t support authentication bypass authentication.
The User-Agent feature of rule-based authentication makes this possible.
To configure the solution, Best Corp:
1. Enables Rule-Based Authentication.
2. Adds the BCORP domain to the Domains list.
3. Creates an IWA rule that:
a. Optionally, specifies the supported client IP address ranges.
That’s it. With this configuration, all requests from Internet Explorer and Firefox, the
only 2 browsers that can be installed on their computers, are subject to user
authentication. All other requests, most particularly web applications, bypass
authentication. To further customize the approach, Best Corp could create other
authentication rules and/or add proxy filtering rules (filter.config) to deny or bypass
specific applications by User-Agent value.
Note that when Content Gateway receives an unauthenticated POST request from a
user who matches a Captive Portal rule, it redirects the user to the web portal
authentication page and does not record the POST data. After successful
authentication, the original POST data must be input again.
Note
If the requested URL is configured for tunneling or bypass,
no user authentication is performed.
When a rule is added with the Captive Portal option enabled, users are reminded that
they can customize the pre-defined web portal page. Go to the new Captive Portal
Page Customization tab of Configure > Security > Access Control. Edit the text and
HTML to suit your needs. For example, you may want to include your company logo
in place of the default logo.
page. CSS files must be stored in /opt/WCG/config/ui_files and image files must be
store in /opt/WCG/config/ui_files/images, by default.
Note
The css and image files also reside in /opt/WCG/ui/
configure/auth_form and /opt/WCG/ui/configure/
auth_form/images, respectively, for use by the Preview
feature. Copy any new files to those directories to use
Preview.
Add a variable to records.config to use a different name for the saved Captive Portal
page or store the css and image files in a different directory.
Troubleshooting
When rule-based authentication doesn’t produce the expected results, it is
recommended that you troubleshoot the problem in the following order:
1. Check Redirection Rules
Confirm that there is no unexpected entries. In the Content Gateway manager, go
to Configure > Networking > ARM > General and examine the Redirection
Rules.
2. Check the rules in filter.config
Confirm that there is no unexpected matching of a filter.config rule. Among other
purposes, filter.config rules can be used to bypass user authentication. See
Content Gateway filtering rules.
3. Check rule matching
Using the IP address of a user who is or is not being challenged as expected, walk
through each rule, top to bottom, examining the settings to find the first match. Be
meticulous in your analysis. A common problem is that the IP address falls within
a too-broad IP address range.
If the rule uses an alias, confirm that the alias is present in the User Service of the
primary domain controller.
For explicit clients configured to send traffic to a specific port, check both the rule
and the configuration of the client’s browser.
Warning
Debug output should not be left enabled. Debug output
slows proxy performance and can fill the file system with
log output.
Find and modify the following parameters and assign values as shown:
CONFIG proxy.config.diags.debug.enabled INT 1
CONFIG proxy.config.diags.debug.tags STRING
http_xauth.* | auth_* | winauth.* | ldap.* | ntlm.*
Save and close the file. Force Content Gateway to reread the file with the command:
(root)# /opt/WCG/bin/content_line -x
Save and close the file. Force Content Gateway to reread the file with the command:
(root)# /opt/WCG/bin/content_line -x
file share on the domain controller machine as the user’s home directory, or by
mounting another share with the domain controller.
Note
If the Mac only logs to the domain without mounting a file
share, it will not be visible to DC Agent.
Configuration summary:
● Ensure that each participating Mac user is a member of a common Active
Directory. See your Active Directory documentation.
● Create a home folder for each Mac user, and make sure that it is accessible to the
user. See the first paragraph of this section.
When the user logs on to the properly configured Mac OS X system, the Mac mounts
a network directory as the user’s home directory, the DC Agent user map is populated,
and user and group-based policies can be applied to user requests. When requests are
blocked, browser-based block pages are displayed normally.
Important
Safari users may be prompted for credentials the first time
they open a browser. The user should enter their
credentials and check the “Remember password in
keychain” check box.
Firefox users may receive an “Proxy Authentication
Required” error message. This is a known issue in FireFox
(http://support.mozilla.org/en-US/questions/926378) and
is easily corrected by changing the browser configuration.
In About:Config set the following options to false:
● network.automatic-ntlm-auth.allow-proxies
● network.negotiate-auth.allow-proxies
6. Highlight Active Directory and click on the Pencil icon to configure the Active
Directory connection.
7. Under Domain, enter the Fully Qualified Domain Name (FQDN).
8. Under Computer ID, enter the computer name.
9. Click Bind. You are prompted for network credentials and a computer OU. Enter
your OU admin account and password, and the computer OU location. For
example:
ou=computers,ou=orgunits,dc=ad,dc=example,dc=com
Your machine will be bound to the specified Active Directory.
10. Click Apply in the Directory Utility to save your changes and restart the machine.
Explicit proxy settings can be configured in the iOS Network settings area.
Related topics:
● Event log files, page 228
● Managing event log files, page 229
● Event log file formats, page 231
● Rolling event log files, page 237
● Splitting event log files, page 240
● Collating event log files, page 242
● Viewing logging statistics, page 245
● Viewing log files, page 246
● Example event log file entries, page 247
● Error log files record information about why a transaction was in error.
● Event log files (also called access log files) record information about the state of
each transaction that Content Gateway processes.
Content Gateway creates both error and event log files and records system
information in system log files. You can disable event logging and/or error logging. It
is recommended that you log errors only or disable logging during peak usage hours.
On the Configure > Subsystems > Logging tab, select one of the following options:
Log Transactions and Errors, Log Transactions Only, Log Errors Only, or
Disabled.
Event log files record information about every request that Content Gateway
processes. By analyzing the log files, you can determine how many people use the
proxy, how much information each person requested, what pages are most popular,
and so on.
Content Gateway supports several standard log file formats, such as Squid and
Netscape, and user-defined custom formats. You can analyze the standard format log
files with off-the-shelf analysis packages. To help with log file analysis, you can
separate log files so that they contain information specific to protocol or hosts. You
can also configure Content Gateway to roll log files automatically at specific intervals
during the day.
The following sections describe how to:
● Manage your event log files
You can choose a central location for storing log files, set how much disk space to
use for log files, and set how and when to roll log files. See Managing event log
files, page 229.
● Choose different event log file formats
You can choose which standard log file formats you want to use for traffic
analysis (for example, Squid or Netscape). Alternatively, you can use the Content
Gateway custom format, which is XML-based and enables you to institute more
control over the type of information recorded in log files. See Event log file
formats, page 231.
● Roll event log files automatically
You can configure Content Gateway to roll event log files at specific intervals
during the day so that you can identify and manipulate log files that are no longer
active. See Rolling event log files, page 237.
● Separate log files according to hosts
You can configure the proxy to create separate log files for different protocols
based on the host. See Splitting event log files, page 240.
You can manage your event log files and control where they are located, how much
space they can consume, and how low disk space in the logging directory is handled.
● If the autodelete option is disabled or there are not enough old log files to delete
for the system to emerge from its low space state, Content Gateway issues a
warning and continues logging until space is exhausted. Content Gateway
resumes event logging when enough space becomes available for it to exit its low
space state. You can make space available by removing files from the logging
directory or by increasing the logging space limit.
You can run a cron script in conjunction with Content Gateway to automatically
remove old log files from the logging directory (before Content Gateway enters the
low space state) and relocate them to a temporary partition. Once the files are
relocated, you can run log analysis scripts on them, and then you can compress the
logs and move them to an archive location or delete them.
Note
The log directory you specify must already exist and must
be /opt/WCG/logs or a subdirectory of it.
The user must have read/write permissions for the
directory storing the log files.
3. In the Limit field of the Log Space area, enter the maximum amount of space you
want to allocate to the logging directory.
When Content Gateway is on an appliance, the size is set to 5120 (5 GB) and
cannot be changed.
When Content Gateway is installed on a stand-alone server, the default size is
20480 (20 GB) and the size is configurable.
Note
All files in the logging directory contribute to the space
used, even if they are not log files.
4. In the Headroom field, enter the tolerance for the log space limit. The default
value is 100 MB.
If the Auto-Delete Rolled Files option is enabled in the Log Rolling section,
autodeletion is triggered when the amount of free space available in the logging
directory is less than the headroom. For information about log file rolling, see
Rolling event log files, page 237.
5. Click Apply.
Important
Event log files consume a large amount of disk space.
Creating log entries in multiple formats at the same time
can consume disk resources very quickly and affect proxy
performance.
Important
When IPv6 is enabled, Event log entries are normalized to
IPv6 format.
For example, “10.10.41.200” is logged as
“::ffff:10.10.41.200”.
To filter on a client at “10.10.41.200” in a custom log, use:
<LogFilter>
<Name = "IPv6_Test_Machine"/>
<Condition =
"chi MATCH ::ffff:10.10.41.200"/>
<Action = "ACCEPT"/>
</LogFilter>
The standard log formats include Squid, Netscape Common, Netscape Extended, and
Netscape Extended-2.
The standard log file formats can be analyzed with a wide variety of off-the-shelf log-
analysis packages. You should use one of the standard event log formats unless you
need information that these formats do not provide. See Custom format, page 232.
By default, Content Gateway is configured to use the Netscape Extended log file
format only.
Custom format
Help | Content Gateway | v8.4.x
The XML-based custom log format is more flexible than the standard log file formats,
giving you more control over the type of information in your log files. Create a custom
log format if you need data for analysis that is not available in the standard formats.
You can decide what information to record for each Content Gateway transaction and
create filters to define which transactions to log.
The heart of the custom logging feature is an XML-based logging configuration file
(logs_xml.config) that enables you to create modular descriptions of logging objects.
The logs_xml.config file uses three types of objects to create custom log files:
● The LogFormat defines the content of the log file using printf-style format
strings.
● The LogFilter defines a filter so that you include or exclude certain information
from the log file.
● The LogObject specifies all the information needed to produce a log file. For
example:
■ The name of the log file (required).
■ The format to be used (required). This can be a standard format (Squid or
Netscape) or a previously defined custom format (a previously defined
LogFormat object).
■ The file mode (ASCII, Binary, or ASCII_PIPE). The default is ASCII.
The ASCII_PIPE mode writes log entries to a UNIX named pipe (a buffer in
memory). Other processes can then read the data using standard I/O functions.
The advantage of using this option is that Content Gateway does not have to
write to disk, freeing disk space and bandwidth for other tasks.
Note
When the buffer is full, Content Gateway drops log entries
and issues an error message indicating how many entries
were dropped. Content Gateway writes only complete log
entries to the pipe; therefore, only full records are dropped.
Note
To generate a custom log format, you must specify at least
one LogObject definition. One log file is produced for
each LogObject definition. You can create a custom log
format in the Content Gateway manager or by editing a
configuration file.
Content Gateway performs several hundred operations per second; therefore, event
log files can grow quite large. Using SQL-like aggregate operators, you can configure
Content Gateway to create summary log files that summarize a set of log entries over
a specified period of time. This can reduce the size of the log files generated.
You generate a summary log file by creating a LogFormat object in the XML-based
logging configuration file (logs_xml.config) using the following SQL-like aggregate
operators:
● COUNT
● SUM
● AVERAGE
● FIRST
● LAST
You can apply each of these operators to specific fields, requesting it to operate over a
specified interval.
Summary log files represent a trade-off between convenience and information
granularity. Since you must specify a time interval during which only a single record
is generated, you can lose information. If you want the convenience of summary logs
and need the detail of a conventional log file, consider creating and enabling two
custom log formats—one using aggregate operators and the other not using aggregate
operators.
To create a summary log file format:
1. In the Content Gateway manager, go to the Configure > Subsystems >
Logging > Custom tab to display the logs_xml.config file.
2. Define the format of the log file as follows:
<LogFormat>
<Name = "summary"/>
<Format = "%<operator(field)> : %<operator(field)>"/>
<Interval = "n"/>
</LogFormat>
Here:
■ “operator” is one of the five aggregate operators (COUNT, SUM, AVERAGE,
FIRST, LAST). You can specify more than one operator in the format line.
■ “field” is the logging field that you want to aggregate.
■ “n” is the interval in seconds between summary log entries.
For more information, see logs_xml.config, page 394.
For example, the following format generates one entry every 10 seconds, with
each entry summarizing the time stamp of the last entry of the interval, a count of
the number of entries seen within that 10-second interval, and the sum of all bytes
sent to the client:
<LogFormat>
<Name = "summary"/>
<Format = "%<LAST(cqts)> : %<COUNT(*)> :
%<SUM(psql)>"/>
<Interval = "10"/>
</LogFormat>
Important
You cannot create a format specification that contains both
aggregate operators and regular fields. For example, the
following specification would be invalid:
<Format = "%<LAST(cqts)> : %<COUNT(*)> :
%<SUM(psql)> : %<cqu>"/>
4. Click Apply.
You can configure Content Gateway to create event log files in either of the following:
● ASCII: these files can be processed using standard, off-the-shelf log-analysis
tools. However, Content Gateway must perform additional processing to create
the files in ASCII, resulting in an increase in overhead. Also, ASCII files tend to
be larger than the equivalent binary files. ASCII log files have a .log filename
extension by default.
● Binary: these files generate lower system overhead, as well as generally
occupying less space on the disk, depending on the type of information being
logged. You must, however, use a converter application before you can read or
analyze these files using standard tools. Binary log files use a .blog filename
extension by default.
While binary log files typically require less disk space, this is not always the case. For
example, the value 0 (zero) requires only one byte to store in ASCII but requires four
bytes when stored as a binary integer. If you define a custom format that logs IP
addresses, a binary log file would require only four bytes of storage per 32-bit address.
However, the same IP address stored in dot notation would require around 15
characters (bytes) in an ASCII log file.
For standard log formats, you select Binary or ASCII on the Configure >
Subsystems > Logging > Formats tab in the Content Gateway manager. See Setting
standard log file format options, page 232. For the custom log format, you specify
ASCII or Binary mode in the LogObject. Refer to Custom format, page 232.
Note
For custom log files, in addition to the ASCII and Binary
options, you can also write log entries to a UNIX named
pipe (a buffer in memory). Other processes can then read
the data using standard I/O functions. The advantage of
using this option is that Content Gateway does not have to
write to disk, freeing disk space and bandwidth for other
tasks. In addition, writing to a pipe does not stop when
logging space is exhausted because the pipe does not use
disk space. See logs_xml.config, page 394, for more
information about the ASCII_PIPE option.
Before selecting ASCII versus binary for your log files, consider the type of data that
will be logged. Try logging for one day using ASCII and then one day using binary.
Assuming that the number of requests is roughly the same for both days, you can
calculate a rough metric comparing the two formats.
You must convert a binary log file to ASCII before you can analyze it using standard
tools.
1. Change to the directory containing the binary log file.
2. Make sure that the logcat utility is in your path.
3. Enter the following command:
logcat <options> <input_filename>
Option Description
-o output_file Specifies where the command output is directed.
-a Automatically generates the output filename based on the input
filename. If the input is from stdin, this option is ignored.
For example:
logcat -a squid-1.blog squid-2.blog
squid-3.blog
generates:
squid-1.log, squid-2.log, squid-3.log
-S Attempts to transform the input to Squid format, if possible.
-C Attempts to transform the input to Netscape Common format, if
possible.
-E Attempts to transform the input to Netscape Extended format, if
possible.
-2 Attempt to transform the input to Netscape Extended-2 format, if
possible.
Note
Use only one of the following options at any given time:
-S, -C, -E, or -2.
If no input files are specified, logcat reads from the standard input (stdin). If you do
not specify an output file, logcat writes to the standard output (stdout).
For example, to convert a binary log file to an ASCII file, you can use the logcat
command with either of the following options:
logcat binary_file > ascii_file
logcat -o ascii_file binary_file
Content Gateway provides automatic log file rolling. This means that at specific
intervals during the day, Content Gateway closes its current set of log files and opens
new log files.
Log file rolling offers the following benefits:
● It defines an interval over which log analysis can be performed.
● It keeps any single log file from becoming too large and assists in keeping the
logging system within the specified space limits.
● It provides an easy way to identify files that are no longer being used so that an
automated script can clean the logging directory and run log analysis programs.
You should roll log files several times a day. Rolling every six hours is a good
guideline to follow.
Content Gateway provides a consistent name format for rolled log files that allows
you to identify log files.
When Content Gateway rolls a log file, it saves and closes the old file and starts a new
file. Content Gateway renames the old file to include the following information:
● The format of the file (for example, squid.log).
● The hostname of the Content Gateway server that generated the log file.
● Two timestamps separated by a hyphen (-). The first time stamp is a lower bound
for the time stamp of the first record in the log file. The lower bound is the time
when the new buffer for log records is created. Under low load, the first time
stamp in the filename can be different from the timestamp of the first entry. Under
normal load, the first time stamp in the filename and the time stamp of the first
entry are similar.
The second time stamp is an upper bound for the time stamp of the last record in
the log file (this is normally the rolling time).
● The suffix .old, which makes it easy for automated scripts to find rolled log files.
The timestamps have the following format:
%Y%M%D.%Hh%Mm%Ss-%Y%M%D.%Hh%Mm%Ss
squid.log.mymachine.20000912.12h00m00s-
20000913.12h00m00s.old
In this example, the file is squid log format and the host machine is mymachine. The
first time stamp indicates a date and time of year 2000, month September, and day 12
at 12:00 noon. The second time stamp indicates a date and time of year 2000, month
September, and day 13 at 12:00 noon. At the end, the file has a .old suffix.
The logging system buffers log records before writing them to disk. When a log file is
rolled, the log buffer might be partially full. If so, the first entry in the new log file will
have a time stamp earlier than the time of rolling. When the new log file is rolled, its
first time stamp will be a lower bound for the time stamp of the first entry. For
example, suppose logs are rolled every three hours, and the first rolled log file is:
squid.log.mymachine.19980912.12h00m00s-
19980912.03h00m00s.old
If the lower bound for the first entry in the log buffer at 3:00:00 is 2:59:47, the next
log file, when rolled, will have the following time stamp:
squid.log.mymachine.19980912.02h59m47s-
19980912.06h00m00s.old
The contents of a log file are always between the two timestamps. Log files do not
contain overlapping entries, even if successive timestamps appear to overlap.
Rolling intervals
Help | Content Gateway | v8.4.x
Log files are rolled at specific intervals relative to a given hour of the day. Two
options control when log files are rolled:
● The offset hour, which is an hour between 0 (midnight) and 23
● The rolling interval
Both the offset hour and the rolling interval determine when log file rolling starts.
Rolling occurs every rolling interval and at the offset hour.
For example, if the rolling interval is six hours and the offset hour is 0 (midnight), the
logs roll at midnight (00:00), 06:00, 12:00, and 18:00 each day. If the rolling interval
is 12 hours and the offset hour is 3, logs roll at 03:00 and 15:00 each day.
4. In the Interval field, enter the amount of time Content Gateway enters data in the
log files before rotation takes place.
The minimum value is 300 seconds (five minutes). The maximum value is
86400 seconds (one day).
Note
If you start Content Gateway within a few minutes of the
next rolling time, rolling may not occur until the following
rolling time.
5. Ensure the Auto-Delete Rolled Files option is enabled (the default). This enables
auto deletion of rolled log files when available space in the log directory is low.
Auto deletion is triggered when the amount of free space available in the log
directory is less than the headroom.
6. Click Apply.
Note
You can fine tune log file rolling settings for a custom log
file in the LogObject specification in the logs_xml.config
file. The custom log file uses the rolling settings in its
LogObject, which override the default settings you
specify in the Content Gateway manager or the
records.config file described above.
By default, Content Gateway uses standard log formats and generates log files that
contain HTTP and FTP transactions in the same file. However, you can enable host
log splitting if you prefer to log transactions for different origin servers in separate log
files.
HTTP host log splitting enables you to record HTTP and FTP transactions for
different origin servers in separate log files. When HTTP host log splitting is enabled,
Content Gateway creates a separate log file for each origin server listed in the
log_hosts.config file (see Editing the log_hosts.config file, page 242).
When HTTP host log splitting is enabled, Content Gateway generates separate log files
for HTTP/FTP transactions, based on the origin server.
For example, if the log_hosts.config file contains the two origin servers uni.edu and
company.com, and the Squid format is enabled, Content Gateway generates the
following log files:
Content Gateway also enables you to create XML-based custom log formats that offer
even greater control over log file generation based on protocol and host name. See
Custom format, page 232.
Note
You can specify keywords in the log_hosts.config file to
record in a separate log file all transactions from origin
servers that contain the specified keyword in their names.
For example, if you specify the keyword sports, Content
Gateway records all HTTP and FTP transactions from
sports.yahoo.com and www.foxsports.com in a log file
called squid-sports.log (if the Squid format is enabled).
Note
If Content Gateway is clustered and if you enable log file
collation, it is recommended that you use the same
log_hosts.config file on every node in the cluster.
You can use the log file collation feature to keep all logged information in one place.
This allows you to analyze Content Gateway as a whole rather than as individual
nodes and to use a large disk that might only be located on one of the nodes in a
cluster.
Content Gateway collates log files by using one or more nodes as log collation servers
and all remaining nodes as log collation clients. When a node generates a buffer of
event log entries, it determines whether it is the collation server or a collation client.
The collation server node simply writes all log buffers to its local disk, just as it would
if log collation were not enabled.
The collation client nodes prepare their log buffers for transfer across the network and
send the buffers to the log collation server. When the log collation server receives a
log buffer from a client, it writes it to its own log file as if it were generated locally.
If log clients cannot contact their log collation server, they write their log buffers to
their local disks, into orphan log files. Orphan log files require manual collation.
Log collation servers can be stand-alone or they can be part of a node running Content
Gateway.
Note
Log collation can have an impact on network performance.
Because all nodes are forwarding their log data buffers to
the single collation server, a bottleneck might occur in the
network, where the amount of data being sent to a single
node in the network exceeds the node’s ability to process it
quickly.
Note
Collated log files contain time-stamp information for each
entry, but entries do not appear in the files in strict
chronological order. You can sort collated log files before
doing analysis.
Note
All collation clients must use this same secret.
5. Click Apply.
Important
If you modify the collation port or secret after connections
between the collation server and collation clients have
been established, you must restart Content Gateway.
Note
To send custom XML-based formatted log entries to the
collation server, you must add a log object specification to
the logs_xml.config file. See Custom format, page 232.
3. In the To Collation Server field, enter the hostname of the collation server. This
could be the Content Gateway collation server or a stand-alone collation server.
4. In the Log Collation Port field, enter the port number used for communication
with the collation server. The default port number is 8085.
5. In the Log Collation Secret field, enter the password used to validate logging
data and prevent the exchange of arbitrary information. This must be the same
secret you set on the collation server.
6. Enable the Log Collation Host Tagged option if you want to preserve the origin
of log entries in the collated log files.
7. In the Log Collation Orphan Space field, enter the maximum amount of space
(in megabytes) you want to allocate to the logging directory on the collation client
for storing orphan log files. (Orphan log files are created when the log collation
server cannot be contacted). The default value is 25 MB.
8. Click Apply.
Important
If you modify the collation port or secret after connections
between the collation clients and collation server have
been established, you must restart Content Gateway.
If you do not want the log collation server to be a Content Gateway node, you can
install and configure a stand-alone collator (SAC) which can dedicate more of its
power to collecting, processing, and writing log files.
Note
The stand-alone collator is currently available for the
Linux platform only.
1. Configure your Content Gateway nodes as log collation clients. See Configuring
Content Gateway to be a collation client, page 244.
2. Copy the sac binary from the Content Gateway bin directory (/opt/WCG/bin) to
the machine serving as the stand-alone collator.
3. Create a directory called config in the directory that contains the sac binary.
4. Create a directory called internal in the config directory you created in Step 3.
This directory will be used internally by the stand-alone collator to store lock
files.
5. Copy the records.config file (/opt/WCG/config) from a Content Gateway node
configured to be a log collation client to the config directory you created in Step 3
on the stand-alone collator.
The records.config file contains the log collation secret and port you specified
when configuring nodes to be collation clients. The collation port and secret must
be the same for all collation clients and servers.
6. Open the records.config file on the stand-alone collator and edit the
proxy.config.log2.logfile_dir variable to specify the directory where you want to
store log files.
■ You can specify an absolute path to the directory or a path relative to the
directory from which the sac binary is executed.
■ The directory must already exist on the machine serving as the stand-alone
collator.
7. Save and close the file.
8. Enter the following command:
sac -c config
Content Gateway generates statistics about the logging system that help you see the
following information:
Related topics:
● Squid format, page 248
● Netscape examples, page 249
You can view the system, event, and error log files that Content Gateway creates from
the Content Gateway manager. You can view an entire log file, a specified last number
of lines in the log file, or all lines that contain a specified string.
You can also delete a log file or copy it to your local system.
Note
You must have the correct user permissions to copy and
delete log files.
Note
Content Gateway displays only the first 1 MB of data in
the log file. If the log file you select is larger than 1 MB,
Content Gateway truncates the file and displays a warning
message indicating that the file is too big.
You can now access log files through the Content Gateway manager.
1. Navigate to the Configure > My Proxy > Logs > System tab.
2. To view, copy, or delete a system log file, go to Step 3.
To view, copy, or delete an event or error log file, select the Access tab.
3. In the Log File drop-down list, select the log file you want to view, copy, or
delete.
Content Gateway lists the system log files logged with the system-wide logging
facility syslog under the daemon facility.
Content Gateway lists the event log files located in the directory specified in the
Logging Directory field in the Configure > Subsystems > Logging > General
tab or by the configuration variable proxy.config.log2.logfile_dir in the
records.config file. The default directory is logs in the Content Gateway
installation directory.
4. In the Action area, select one of the following options:
■ Display the selected log file to view the entire log file. If the file is larger than
1 MB, only the first MB of data is displayed.
■ Display last lines of the selected file to view the last lines of the log file.
Enter the number of lines you want to view in the field provided.
■ Display lines that match in the selected log file to view all the lines in the
log file that match a particular string. Enter the string in the field provided.
■ Remove the selected log file to delete the selected log file from the Content
Gateway system.
■ Save the selected log file in local filesystem to save a copy of the selected
log file on your local system.
5. Click Apply.
If you selected to view the log file, Content Gateway displays the file at the end of
the page.
If you selected to delete the log file, Content Gateway deletes the file. You are not
prompted to confirm the deletion.
If you selected to save the log file, you are prompted for the location where you
want to save the file on your local system.
This section shows examples of a log file entry in each of the standard log formats
supported by Content Gateway:
● Squid format, page 248
● Netscape examples, page 249
● Netscape Extended format, page 249
● Netscape Extended-2 format, page 249
Squid format
Help | Content Gateway | v8.4.x
The following figure shows a sample log entry in a squid.log file. The table below
describes each field.
1 2 5 6 7
3 4
987548934.123 19 209.131.54.138 TCP_HIT/200 4771 GET http://europe.cnn.com/
EUROPE/potd/2001/04/17/tz.pullitzer.ap.jpg - NONE/- image/jpeg
7 cont’d 8 9 10
Field Description
1 The client request time stamp in Squid format; the time of the client
request in seconds since January 1, 1970 UTC (with millisecond
resolution).
2 The time the proxy spent processing the client request; the number of
milliseconds between the time that the client established the connection
with the proxy and the time that the proxy sent the last byte of the
response back to the client.
3 The IP address of the client’s host machine.
4 The cache result code; how the cache responded to the request: HIT,
MISS, and so on. Cache result codes are described in Cache result codes
in Squid- and Netscape-format log files, page 251.
The proxy response status code (the HTTP response status code from
Content Gateway to client).
5 The length of the Content Gateway response to the client in bytes,
including headers and content.
6 The client request method: GET, POST, and so on.
7 The client request canonical URL; blanks and other characters that might
not be parsed by log analysis tools are replaced by escape sequences. The
escape sequence is a percentage sign followed by the ASCII code number
of the replaced character in hex.
8 The authenticated client’s user name. A hyphen (-) means that no
authentication was required.
9 The proxy hierarchy route; the route Content Gateway used to retrieve the
object. The proxy request server name; the name of the server that
fulfilled the request. If the request was a cache hit, this field contains a
hyphen (-).
10 The proxy response content type; the object content type taken from the
Content Gateway response header.
Netscape examples
Help | Content Gateway | v8.4.x
1 2 3 4 5
209.131.54.138 - - [17/Apr/2001:16:20:28 -0700] "GET http://europe.cnn.com/
EUROPE/potd/2001/04/17/tz.pullitzer.ap.jpg HTTP/1.0" 200 4473
5 cont’d 6 7
1 2 3 4 5
209.131.54.138 - - [17/Apr/2001:16:20:28 -0700] "GET http://europe.cnn.com/EUROPE/potd/2001/
04/17/tz.pullitzer.ap.jpg HTTP/1.0" 200 4473 000 0 0 0 458 297 0 0 0
5 cont’d 6 7 8 9 10 11 12 13 14 15 16
1 2 3 4 5
209.131.54.138 - - [17/Apr/2001:16:20:28 -0700] "GET http://europe.cnn.com/EUROPE/potd/2001/04/
17/tz.pullitzer.ap.jpg HTTP/1.0" 200 4473 000 0 0 0 458 297 0 0 0 NONE FIN FIN TCP_MEM_HIT
5 cont’d 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Field Description
Netscape Common
1 The IP address of the client’s host machine.
2 This hyphen (-) is always present in Netscape log entries.
3 The authenticated client user name. A hyphen (-) means no
authentication was required.
4 The date and time of the client’s request, enclosed in brackets.
Field Description
5 The request line, enclosed in quotes.
6 The proxy response status code (HTTP reply code).
7 The length of the Content Gateway response to the client in bytes.
Netscape Extended
8 The origin server’s response status code.
9 The server response transfer length; the body length in the origin
server’s response to the proxy, in bytes.
10 The client request transfer length; the body length in the client’s request
to the proxy, in bytes.
11 The proxy request transfer length; the body length in the proxy request
to the origin server.
12 The client request header length; the header length in the client’s request
to the proxy.
13 The proxy response header length; the header length in the proxy
response to the client.
14 The proxy request header length; the header length in the proxy request
to the origin server.
15 The server response header length; the header length in the origin
server’s response to the proxy.
16 The time Content Gateway spent processing the client request; the
number of seconds between the time that the client established the
connection with the proxy and the time that the proxy sent the last byte
of the response back to the client.
Netscape Extended-2
17 The proxy hierarchy route; the route Content Gateway used to retrieve
the object.
18 The client finish status code: FIN if the client request completed
successfully or INTR if the client request was interrupted.
19 The proxy finish status code: FIN if the Content Gateway request to the
origin server completed successfully or INTR if the request was
interrupted.
20 The cache result code; how the Content Gateway cache responded to the
request: HIT, MISS, and so on. Cache result codes are described in
Cache result codes in Squid- and Netscape-format log files, page 251.
This section describes the following statistics accessed on the Content Gateway
manager Monitor tab:
● My Proxy, page 253
● Protocols, page 259
● Security, page 262
● Subsystems, page 267
● Networking, page 269
● Performance, page 274
● SSL, page 276
My Proxy
Statistic/Field Description
Subscription Details
Feature Lists available features, such as analytic options, threat
detection, and the file sandbox.
Purchased Status Indicates if a feature has been purchased.
Expiration Date If a feature has been purchased, displays the expiration
date of the subscription.
More Detail
Subscription key Displays the subscription key. See Entering your
subscription key, page 15.
Last successful Displays the time of the last successful validation of the
subscription download subscription key. The check is made once a day.
time
Connection status Displays the Content Gateway connection status to
Policy Server, Policy Broker, and Filtering Service.
Registration status Displays the Content Gateway registration status with the
Forensics Repository.
Scanning Data Files
Engine Name Displays the name of each scanning engine.
Engine Version Displays the version number of the scanning engine.
Data File Version Displays the version number of the data file currently in
use by the scanning engine.
Last update Displays the time and date when Content Gateway last
successfully loaded that analytics data files, settings, and
policies.
Last time Content Displays the time and date when Content Gateway last
Gateway loaded data successfully loaded databases, settings, and policies.
Last time Content Displays the time and date when Content Gateway last
Gateway checked for successfully communicated with the download server to
updates check for data file updates.
Node Details
Node Name of the Content Gateway node or cluster.
On/Off Indicates if the proxy and manager services are running.
Objects Served The total number of objects served by the node.
Ops/Sec The number of operations per second processed by the
node.
Hit Rate The percentage of HTTP requests served from the cache,
averaged over the past 10 seconds.
Node
Help | Content Gateway | v8.4.x
Browser limitations require configuring a specific port in order for these graphs to
display properly. The Node and Graphs options are disabled until a port is specified in
records.config (in /opt/WCG/config, by default).
1. Update this variable to enable the Node and Graphs pages:
proxy.config.admin.overseer_port INT ##
where ## is a valid port number.
2. Restart Content Gateway.
If the node is part of a cluster, two sets of statistics are shown:
● Information about the single node and
Statistic Description
Node Summary
Status Indicates if Content Gateway is running on this
node (active or inactive).
Up Since Date and time Content Gateway was started.
Clustering Indicates if clustering is on or off on this node.
Cache
Document Hit Rate Ratio of cache hits to total cache requests,
averaged over 10 seconds. This value is refreshed
every 10 seconds.
Bandwidth Savings Ratio of bytes served from the cache to total
requested bytes, averaged over 10 seconds. This
value is refreshed every 10 seconds.
Cache Percent Free Ratio of cache free space to total cache space.
In Progress
Open Server Connections Number of currently open origin server
connections.
Open Client Connections Number of currently open client connections.
Cache Transfers in Progress Number of cache transfers (cache reads and
writes) in progress.
Network
Client Throughput (Mbit/Sec) Number of megabits per second passing through
the node (and cluster).
Transactions per Second Number of HTTP transactions per second.
Name Resolution
Host Database Hit Rate Ratio of host database hits to total host database
lookups, averaged over 10 seconds. This value is
refreshed every 10 seconds.
DNS Lookups per Second Number of DNS lookups per second.
Graphs
Help | Content Gateway | v8.4.x
Browser limitations require configuring a specific port in order for these graphs to
display properly. The Node and Graphs options are disabled until a port is specified in
records.config (in /opt/WCG/config, by default).
Important
The graph is displayed in your browser using a Java applet.
You should have the latest version of Java installed on
your PC (at least version 1.7). To validate your access to
Content Gateway statistics, you will be prompted for
Content Gateway logon credentials.
Alarms
Help | Content Gateway | v8.4.x
Content Gateway signals an alarm when it detects a problem (for example, if the space
allocated to event logs is full or if Content Gateway cannot write to a configuration
file) and displays a description of the alarm in the alarm message window. In addition,
the Alarm! [pending] bar at the top of the Content Gateway manager display
indicates when alarms are detected and how many alarms exist.
After you have read an alarm message, click Clear in the alarm message window to
dismiss the alarm. Clicking Clear only dismisses alarm messages; it does not actually
resolve the cause of the alarms.
For information about working with alarms, see Working with alarms, page 112.
Diagnostics
Help | Content Gateway | v8.4.x
Use the tools provided to help diagnose communication or connection issues, trace
network packets, or capture network packets.
● Automatic diagnostic tests, page 257
● Manual diagnostic tests, page 258
Important
TCPDump uses a lot of system resources. Try to avoid
using it during peak hours when the system is busy.
As each command executes, the Run button becomes a Stop button. Click Stop to
abort the command.
Protocols
HTTP
Help | Content Gateway | v8.4.x
Statistic Description
General
Client
Total Document Bytes Total amount of HTTP data served to clients since
installation.
Total Header Bytes Total amount of HTTP header data served to clients
since installation.
FTP
Help | Content Gateway | v8.4.x
Statistic Description
Client
Open Connections Number of client connections currently open.
Bytes Read Number of client request bytes read since installation.
Bytes Written Number of client request bytes written since installation.
Security
Note
Even when multiple authentication rules are used, Content
Gateway reports authentication statistics discreetly for
each authentication method (IWA, LDAP, Legacy NTLM).
Statistic Description
Diagnostic Test
This function runs diagnostic tests on the Kerberos
connection to the selected domain. Results are
displayed on screen and written to /opt/WCG/logs/
content_gateway.out and /opt/WCG/logs/
smbadmin.log.
Domain drop down box Select a joined domain. Unless Rule-Based
Authentication is configured, there will only be 1
joined domain.
Run Test button Click to initiate a test.
LDAP
Help | Content Gateway | v8.4.x
Statistic Description
Cache
Hits Number of hits in the LDAP cache.
Misses Number of misses in the LDAP cache.
Errors
Server Number of LDAP server errors.
Successful Authentications
Authentication Succeeded Number of times authentication was successful.
Legacy NTLM
Help | Content Gateway | v8.4.x
Statistic Description
Cache
Hits Number of hits in the NTLM cache.
Misses Number of misses in the NTLM cache.
Errors
Server Number of NTLM server errors.
Successful Authentications
Authentication Number of times authentication was successful.
Succeeded
Unsuccessful Authentications
Authentication Denied Number of times the NTLM server denied
authentication.
Authentication Number of times authentication was cancelled.
Cancelled
Authentication Rejected Number of times authentication failed because the
queue was full.
Queue Size
Authentication Queued Number of requests that are currently queued because
all of the domain controllers are busy.
Statistic Description
On-Appliance SOCKS Indicates whether the on-appliance SOCKS server is
Server on (enabled) or off (disabled).
(when Content Gateway is
on an appliance)
Unsuccessful Connections Number of unsuccessful connections to the SOCKS
server since Content Gateway was started.
Successful Connections Number of successful connections to the SOCKS
server since Content Gateway was started.
Connections in Progress Number of connections to the SOCKS server
currently in progress.
Web DLP
Help | Content Gateway | v8.4.x
Statistic Description
Total Posts Total number of posts sent to Web DLP.
Total Analyzed Total number of posts analyzed by Web DLP.
FTP Analyzed Total number of FTP requests analyzed by DLP.
Blocked Requests Total number of requests blocked after analysis and
policy enforcement.
Allowed Requests Total number of requests allowed after analysis and
policy enforcement.
Failed Requests Total number of posts sent to Web DLP that timed
out or otherwise failed to complete.
Huge Requests Total number of requests that exceeded the maximum
transaction size.
Tiny Requests Total number of requests that were smaller than the
minimum transaction size.
Decrypted Requests Total number of SSL requests decrypted and sent to
Web DLP.
Total Bytes Scanned Total number of bytes scanned by Web DLP.
Average Response Time Average time needed to by Web DLP to complete a
scan since the last time Content Gateway was started.
Cache
Help | Content Gateway | v8.4.x
Note
Cache statistics may be non-zero even if all content sent to
Content Gateway is not cacheable. Content Gateway
performs a cache-read even if the client sends a no-cache
control header.
Statistic Description
General
Bytes Used Number of bytes currently used by the cache.
Cache Size Number of bytes allocated to the cache.
Ram Cache
Bytes Total size of the RAM cache, in bytes.
Hits Number of document hits from the RAM cache.
Misses Number of document misses from the RAM cache. The documents
may be hits from the cache disk.
Reads
In Progress Number of cache reads in progress (HTTP and FTP).
Hits Number of cache reads completed since Content Gateway was
started (HTTP and FTP).
Misses Number of cache read misses since Content Gateway was started
(HTTP and FTP).
Writes
In Progress Number of cache writes in progress (HTTP and FTP).
Successes Number of successful cache writes since Content Gateway was
started (HTTP and FTP).
Clustering
Help | Content Gateway | v8.4.x
Statistic Description
Clustering Nodes Number of clustering nodes.
Logging
Help | Content Gateway | v8.4.x
Statistic Description
Currently Open Log Files Number of event log files (formats) that are currently
being written.
Space Used for Log Files Current amount of space being used by the logging
directory, which contains all of the event and error
logs.
Number of Access Events Number of access events that have been written to log
Logged files since Content Gateway installation. This counter
represents one entry in one file. If multiple formats
are being written, a single access creates multiple
event log entries.
Networking
System
Help | Content Gateway | v8.4.x
Statistic/Field Description
General
Hostname The hostname assigned to this Content Gateway machine.
Search Domain Search domain that this Content Gateway machine uses.
IPv4 or IPv6
Default Gateway IP address of the default gateway used to forward packets from
this Content Gateway machine to other networks or subnets.
Primary DNS IP address of the primary DNS server that this Content
Gateway machine uses to resolve host names.
Secondary DNS Secondary DNS server that this Content Gateway machine uses
to resolve host names.
Tertiary DNS Third DNS server that this Content Gateway machine uses to
resolve host names.
NIC <interface_name>
Status Indicates whether the NIC is up or down.
Start on Boot Indicates whether the NIC is configured to start on boot.
IPv4 or IPv6
ARM
Help | Content Gateway | v8.4.x
Statistic Description
Network Address Translation (NAT) Statistics
Client Connections Number of client connections redirected transparently by
Natted the ARM.
Client Connections in Number of client connections currently in progress with
Progress the ARM.
Total Packets Natted Number of packets translated by the ARM.
DNS Packets Natted Number of DNS packets translated by the ARM.
Bypass Statistics
Total Packets Total number of packets bypassed by the ARM.
Bypassed
Packets Dynamically Total number of packets dynamically bypassed. See
Bypassed Dynamic bypass rules, page 72.
DNS Packets Number of DNS packets bypassed by the ARM.
Bypassed
Packets Shed Total number of packets shed.
HTTP Bypass Statistics
Bypass on Bad Client Number of requests forwarded directly to the origin server
Request because Content Gateway encountered non-HTTP traffic
on port 80.
Bypass on 400 Number of requests forwarded directly to the origin server
because an origin server returned a 400 error.
Bypass on 401 Number of requests forwarded directly to the origin server
because an origin server returned a 401 error.
Bypass on 403 Number of requests forwarded directly to the origin server
because an origin server returned a 403 error.
Bypass on 405 Number of requests forwarded directly to the origin server
because an origin server returned a 405 error.
Bypass on 406 Number of requests forwarded directly to the origin server
because an origin server returned a 406 error.
ICAP
Help | Content Gateway | v8.4.x
Statistic Description
Total Posts Total number of posts sent to Forcepoint DLP.
Total Analyzed Total number of posts analyzed by Forcepoint DLP.
FTP Analyzed Total number of FTP requests analyzed by
Forcepoint DLP.
Blocked Requests Total number of requests blocked after analysis and
policy enforcement.
Allowed Requests Total number of requests allowed after analysis and
policy enforcement.
Failed Requests Total number of posts sent to Forcepoint DLP that
timed out or otherwise failed to complete.
Huge Requests Total number of requests that exceeded the maximum
transaction size.
Decrypted Requests Total number of SSL requests decrypted and sent to
Forcepoint DLP.
WCCP
Help | Content Gateway | v8.4.x
Statistic/Field Description
WCCP v2.0 Statistics
WCCP Fragmentation
Total Fragments Total number of WCCP fragments.
Fragmentation Table Entries Number of entries in the fragmentation table.
Out of Order Fragments Number of fragments out of order.
Matches Number of fragments that match a fragment in the
fragmentation table.
DNS Proxy
Help | Content Gateway | v8.4.x
Statistic Description
Total Requests Total number of DNS requests received from clients.
Hits Number of DNS cache hits.
Misses Number of DNS cache misses.
Statistic Description
DNS Resolver
Total Lookups Total number of DNS lookups (queries to name
servers) since installation.
Successes Total number of successful DNS lookups since
installation.
Average Lookup Time (ms) Average DNS lookup time.
Host Database
Total Lookups Total number of lookups in the Content Gateway
host database since installation.
Total Hits Total number of host database lookup hits since
installation.
Average TTL (min) Average time to live in minutes.
Virtual IP
Help | Content Gateway | v8.4.x
The Virtual IP table displays the virtual IP addresses that are managed by the proxies
in the cluster.
Statistic Description
Clients Connections
Current Unique Clients
Connected
Total Unique Clients that Total since Content Gateway last started.
have Connected
Total Clients that have Total clients that exceeded the connection limits
Exceeded the Limits since Content Gateway last started. See Configure >
Connection Management > Client Connection
Control.
Total Clients for which Total since Content Gateway last started.
Connections were Closed
Performance graphs allow you to monitor Content Gateway performance and analyze
network traffic. Performance graphs also provide information about virtual memory
usage, client connections, document hit rates, hit and miss rates, and so on.
Performance graphs are created by the Multi Router Traffic Grapher tool (MRTG).
MRTG uses 5-minute intervals to accumulate statistics.
Performance graphs provide the following information.
Statistic Description
Overview Displays a subset of the graphs available.
Daily Displays graphs that provide historical information for the current
day.
Weekly Displays graphs that provide historical information for the current
week.
Monthly Displays graphs that provide historical information for the current
month.
Yearly Displays graphs that provide historical information for the current
year.
Important
To run the Multi Router Traffic Grapher tool in Linux, you
must have Perl version 5.005 or later installed on your
Content Gateway system.
A description is given adjacent to each graph. Click on a graph to get the daily,
weekly, monthly, and yearly on a single screen.
These graphs are available (sorted alphabetically):
■ Active Client Connections
■ Active Native FTP Client Connections
■ Active Origin Server Connections
■ Active Parent Proxy Connections
■ Analytic Response Latency
■ Bandwidth Savings
■ Cache Read
■ Cache Reads Per Second
■ Cache Writes
SSL
Statistic/Field Description
SSL Inbound Key Data
Is alive Online indicates that SSL support is enabled.
Current SSL connections The number of active inbound SSL requests (browser to
Content Gateway).
Total SSL server connections The number of browser requests.
Total finished SSL server The number of browser requests that resulted in
connections decryption.
CRL Statistics
Help | Content Gateway | v8.4.x
Statistic/Field Description
CRL Statistics
CRL list count The number of certificates on the Certificate Revocation
List. This list is downloaded every night. See Keeping
revocation information up to date, page 147.
OCSP Statistics
OCSP good count The number of responses that certificates are valid.
OCSP unknown count The number of OCSP responses where the certificate
cannot be verified.
OCSP revoked count The number of certificates found to have been revoked.
See Creating SSL certificate authorities reports, page 115, and Creating an SSL
incidents report, page 116, for information on creating reports on certificate
authorities or incidents.
Use the command line to execute individual commands and when scripting multiple
commands in a shell.
Run commands as ‘root’.
Execute Content Gateway commands from the Content Gateway bin directory.
Note
If the Content Gateway bin directory is not in your path,
prepend the command with:
./
For example:
./content_line -p
Command Description
WCGAdmin start Starts the Content Gateway service
WCGAdmin stop Stops the Content Gateway service
WCGAdmin restart Stops the Content Gateway service and then starts
it again
WCGAdmin status Displays the status (running or not running) of the
Content Gateway services: Content Cop, Content
Gateway, Content Gateway Manager, and
Analytics Server.
WCGAdmin help Displays a list of the WCGAdmin commands
content_line -h Displays the list of Content Gateway commands.
You can change the value of a specific configuration variable on the command line
with the content_line -s command. The variables that can be set are described in
records.config, page 405.
You can view statistics related to specific variables on the command line with the
content_line -r command. See below for a list of variables.
See, also, Viewing statistics from the command line, page 112, and Using the
command-line interface, page 17.
Statistics
Help | Content Gateway | v8.4.x
The following table lists the variables you can specify on the command line to view
individual statistics. See Statistics, page 253 for additional information.
To view a statistic, at the prompt enter:
content_line -r <variable>
Statistic Variable
Summary
Node name proxy.node.hostname
Node
Document hit rate proxy.node.cache_hit_ratio_avg_10s
proxy.cluster.cache_hit_ratio_avg_10s
Bandwidth savings proxy.node.bandwidth_hit_ratio_avg_10s
proxy.cluster.bandwidth_hit_ratio_avg_10s
Cache percent free proxy.node.cache.percent_free
proxy.cluster.cache.percent_free
Open origin server proxy.node.current_server_connections
connections proxy.cluster.current_server_connections
FTP
Currently open FTP proxy.process.ftp.connections_currently_open
connections
Successful PASV proxy.process.ftp.connections_successful_
connections pasv
Cache
Bytes used proxy.process.cache.bytes_used
Host DB
Total lookups proxy.process.hostdb.total_lookups
DNS
DNS total lookups proxy.process.dns.total_dns_lookups
Cluster
Bytes read proxy.process.cluster.read_bytes
SOCKS
Unsuccessful proxy.process.socks.connections_unsuccessful
connections
Successful connections proxy.process.socks.connections_successful
Options are grouped as follows on the left side of the Configure pane:
My Proxy, page 285
Protocols, page 298
Content Routing, page 312
Security, page 317
Subsystems, page 339
Networking, page 345
My Proxy
Policy Server
IP address The IP address of the Policy Server. This value is
specified when Content Gateway is installed.
Port The port used by Policy Server. The default port is
55806.
Filtering Service
IP address Specify the IP address of the Filtering Service. This
value is specified when Content Gateway is installed.
Port Specify the port used by Filtering Service. The
default port is 15868.
Communication Specifies the timeout, in milliseconds, in which
Timeout Policy Server and Filtering Service must respond
before a communication timeout condition occurs and
the Action for Communication Errors setting is
applied.
The default value is 5000 ms (5 seconds).
Action for
Communication Errors
Permit traffic Permits all traffic if communication with Policy
Server or Filtering Service fails.
Block traffic Blocks all traffic if communication with Policy
Server or Filtering Service fails.
UI Setup
Help | Content Gateway | v8.4.x
Snapshots
Help | Content Gateway | v8.4.x
FTP Server Specifies the name of the FTP server from which
you want to restore a configuration snapshot or to
which you want to save a configuration snapshot.
Login Specifies the login needed to access the FTP
server.
Password Specifies the password needed to access the FTP
server.
Remote Directory Specifies the directory on the FTP server from
which you want restore, or in which you want to
save a configuration snapshot.
Restore Snapshot Lists the configuration snapshots on the FTP
server that you can restore.
This field appears after you have logged on to the
FTP server successfully.
Save Snapshot to FTP Server Specifies the name of the configuration snapshot
you want to take and save on the FTP server.
This field appears after you have logged on to the
FTP server successfully.
Log File Lists the system log files you can view, delete or
copy to your local system. Content Gateway lists
the system log files logged with the system-wide
logging facility syslog under the daemon facility.
Action: Display the selected When this option is enabled, Content Gateway
log file displays the first MB of the system log file selected
in the Log File drop-down list.
To view the entire file, select “Save the selected
log file in local filesystem” and view the file with
a local viewer.
Action: Display last lines of When this option is enabled, Content Gateway
the selected file displays the last specified number of lines in the
selected system log file.
Action: Display lines that When this option is enabled, Content Gateway
match in the selected log file displays all the lines in the selected system log file
that match the specified string.
Action: Remove the selected When this option is enabled, Content Gateway
log file deletes the selected log file.
Action: Save the selected log When this option is enabled, Content Gateway
file in local filesystem saves the selected log file on the local system in a
location you specify.
Log File Lists the event or error log files you can view,
delete, or copy to your local system. Content
Gateway lists the event log files located in the
directory specified in the Logging Directory field
under Subsystems/Logging and by the
configuration variable
proxy.config.log2.logfile_dir in the
records.config file. The default directory is logs in
the Content Gateway installation directory.
Action: Display the selected When this option is enabled, Content Gateway
log file displays the first MB of the event or error log file
selected in the Log File drop-down list.
To view the entire file, select “Save the selected
log file in local filesystem” and view the file with
a local viewer.
Protocols
The Protocol configuration options are divided into the following categories:
HTTP, page 298
HTTP Responses, page 308
HTTP Scheduled Update, page 309
HTTPS, page 311
FTP, page 311
HTTP
Help | Content Gateway | v8.4.x
HTTP Proxy Server Port Specifies the port that Content Gateway uses when
acting as a Web proxy server for HTTP traffic or when
serving HTTP requests transparently. The default port
is 8080.
If you change this option, you must restart Content
Gateway.
Secondary HTTP Proxy For explicit proxy configurations only, specifies
Server Ports additional ports on which Content Gateway listens for
HTTP traffic.
Transparent proxy configurations always send all
HTTP traffic to port 8080.
Caching: HTTP Caching Enables or disables HTTP caching. When this option
is enabled, Content Gateway serves HTTP requests
from the cache. When this option is disabled, Content
Gateway acts as a proxy server and forwards all HTTP
requests directly to the origin server.
Note: HTTPS content is never cached.
Caching: FTP over HTTP Enables or disables FTP over HTTP caching. When
Caching this option is enabled, Content Gateway serves FTP
requests from HTTP clients from the cache. When this
option is disabled, Content Gateway acts as a proxy
server and forwards all FTP requests from HTTP
clients directly to the FTP server.
Insert Headers: Client-IP When enabled, Content Gateway inserts the Client-IP
header into outgoing requests to retain the client’s IP
address.
This option is mutually exclusive with the Remove
Headers: Client-IP option. When Insert Headers:
Client-IP is enabled the Remove Headers: Client-IP
option is automatically disabled.
Insert Headers: Client-IP and Remove Headers:
Client-IP can both be disabled.
Insert Headers: Via When enabled, Content Gateway inserts a Via header
into the outgoing request. The Via header informs the
destination server of proxies through which the
request was sent.
Insert Headers: When enabled, Content Gateway inserts an
X-Forwarded-For X-Forwarded-For header into the outgoing request.
The X-Forwarded-For value contains the originating
IP address.
If enabled, header information is sent only to a
configured parent proxy. To send header values for all
outbound requests, enable
proxy.config.http.insert_xff_to_external.
Remove Headers: When this option is enabled, Content Gateway
Client-IP removes the Client-IP header from outgoing requests
to protect the privacy of your users.
This option is mutually exclusive with the Insert
Headers: Client-IP option. When Remove Headers:
Client-IP is enabled the Insert Headers: Client-IP
option is automatically disabled.
Remove Headers: Client-IP and Insert Headers:
Client-IP can both be disabled.
Remove Headers: Cookie When this option is enabled, Content Gateway
removes the Cookie header from outgoing requests to
protect the privacy of your users. The Cookie header
often identifies the user that makes a request.
Custom Responses You can customize the responses Content Gateway sends
to clients. By default, the responses you can customize are
located in the Content Gateway config/body_factory/
default directory.
Select Enabled Language-Targeted Response to send
your custom responses to clients in the language specified
in the Accept-Language header.
Select Enabled in “default” Directory Only to send the
custom responses located in the default directory to clients.
Select Disabled to disable the custom responses. If Never
Suppressed or Intercepted Traffic Only is selected for the
Response Suppression Mode option, Content Gateway
sends the hard-coded default responses.
If you change this option, you must restart Content
Gateway.
Custom Response When enabled, Content Gateway sends a message to the
Logging error log each time custom responses are used or modified.
If you change this option, you must restart Content
Gateway.
Custom Response Specifies the directory where the custom responses are
Template Directory located. The default location is the Content Gateway
config/body_factory directory.
If you change this option, you must restart Content
Gateway.
HTTPS Proxy Server Port Specifies the port that Content Gateway uses when
acting as a Web proxy server for HTTPS traffic.
The default value is 8080.
See also, Configure > Protocols > HTTP >
General: HTTPS Ports.
Tunnel Unknown Enables and disables tunneling of HTTPS requests
Protocols when the SSL handshake results in an unknown
protocol error.
Tunneled connections are not decrypted or
inspected.
When Content Gateway is an explicit proxy, a URL
lookup is performed and policy is applied before
the SSL connection request is made with the server.
Therefore, tunneled transactions appear in the
Forcepoint Web Security transaction log.
When Content Gateway is a transparent proxy, if
there is an SNI a URL lookup is done on the
hostname in the SNI. Otherwise no URL lookup is
possible and tunneled transactions are not logged.
This is because an initial connection with the server
is required to get the Common Name from the SSL
certificate. It is used for the URL lookup. If the
connection handshake fails and this option is
enabled, the connection is tunneled without the
proxy being aware of it.
Important: This setting persists after the HTTPS
feature is disabled (on Configure > My Proxy >
Basic > General). Therefore, disable this option
before disabling HTTPS support.
FTP
Help | Content Gateway | v8.4.x
Note
The FTP configuration options appear on the Configure
pane only if you have enabled FTP processing in the
Features table on the Configure > My Proxy > Basic >
General tab.
FTP Proxy Server Port Specifies the port that Content Gateway uses to accept
FTP requests. The default port is 2121.
Listening Port Specifies how FTP opens a listening port for a data
Configuration transfer.
Select Default Settings to let the operating system choose
an available port. Content Gateway sends 0 and retrieves
the new port number if the listen succeeds.
Select Specify Range if you want the listening port to be
determined by the range of ports specified in the
Listening Port (Max) and Listening Port (Min) fields.
Default Data Specifies the default method used to set up data
Connection Method connections with the FTP server.
Select Proxy Sends PASV to send a PASV to the FTP
server and let the FTP server open a listening port.
Select Proxy Sends PORT to set up a listening port on
the Content Gateway side of the connection first.
Shared Server When enabled, server control connections can be shared
Connections between multiple anonymous FTP clients.
Keep-Alive Timeout: Specifies the timeout value when the FTP server control
Server Control connection is not used by any FTP clients. The default
value is 90 seconds.
Inactivity Timeouts: Specifies how long FTP client control connections can
Client Control remain idle. The default value is 900 seconds.
Inactivity Timeouts: Specifies how long the FTP server control connection can
Server Control remain idle. The default value is 120 seconds.
Active Timeouts: Specifies the how long FTP client control connections can
Client Control remain open. The default value is 14400 seconds.
Active Timeouts: Specifies how long the FTP server control connection can
Server Control remain open. The default value is 14400 seconds.
Content Routing
The Content Routing configuration options are divided into the following categories:
Hierarchies, page 313
Mapping and Redirection, page 315
Hierarchies
Help | Content Gateway | v8.4.x
Serve Mapped Hosts Select Required if you want the proxy to serve requests
Only only to origin servers listed in the mapping rules of the
remap.config file. If a request does not match a rule in
the remap.config file, the browser receives an error. This
option provides added security for your Content Gateway
system.
Retain Client Host When this option is enabled, Content Gateway retains the
Header client host header in a request (it does not include the
client host header in the mapping translation).
Redirect No-Host Specifies the alternate URL to which to direct incoming
Header to URL requests from older clients that do not provide a Host:
header.
It is recommended that you set this option to a page that
explains the situation to the user and advises a browser
upgrade or provides a link directly to the origin server,
bypassing the proxy. Alternatively, you can specify a
map rule that maps requests without Host: headers to a
particular server.
URL Remapping Rules Displays a table listing the mapping rules in the
remap.config file so that you can redirect HTTP requests
permanently or temporarily without the proxy having to
contact any origin servers.
Note: Mapping a URL to another URL in the same
domain requires that a “/” be specified in From Path
Prefix field. See the example following this table.
Refresh Updates the table to display the most up-to-date rules in
the remap.config file.
Edit File Opens the configuration file editor so that you can edit
and add rules to the remap.config file.
Browser Auto-Config
Help | Content Gateway | v8.4.x
WPAD Settings Lets you edit the wpad.dat file. See Using WPAD, page
42.
Security
The Security configuration options are divided into the following categories:
Connection Control, page 318
FIPS Security, page 318
Web DLP, page 319
Access Control, page 320
SOCKS, page 336
Option Description
Proxy Access
Access Control Displays the rules in the ip_allow.config file that control which
clients can access Content Gateway.
By default, all remote hosts are allowed to access the proxy.
Refresh Updates the table to display the most up-to-date rules in the
ip_allow.config file.
Edit File Opens the configuration file editor for to the ip_allow.config
file.
ip_allow.config Configuration File Editor
rule display box Lists the ip_allow.config file rules. Select a rule to edit it. The
buttons on the left of the box allow you to delete or move the
selected rule up or down in the list.
Add Adds a new rule to the rule display box at the top of the
configuration file editor page.
Set Updates the rule display box at the top of the configuration file
editor page.
IP Action Lists the type of rules you can add.
An ip_allow rule allows the clients listed in the Source IP field
to access the proxy.
An ip_deny rule denies the clients listed in the Source IP field
access to the proxy.
Source IP Specifies the IP address or range of IP addresses of the clients.
Apply Applies the configuration changes.
Close Exits the configuration file editor.
Click Apply before you click Close; otherwise, all
configuration changes will be lost.
FIPS Security
Help | Content Gateway | v8.4.x
Warning
Once enabled, FIPS 140-2 mode cannot be disabled
without reinstalling Content Gateway. If Content Gateway
is on an appliance, the appliance must be reimaged.
Important
Due to a system limitation, FIPS 140-2 mode cannot be
used with NTLM user authentication (IWA fallback to
NTLM or Legacy NTLM).
Option Description
FIPS Enable/Disable By default, Content Gateway is installed in non-FIPS
radio buttons 140-2 mode.
To switch to FIPS 140-2 mode, select the Enabled
radio button, click Apply, and restart Content
Gateway.
Warning: Once enabled, FIPS 140-2 mode cannot be
disabled without reinstalling Content Gateway. For
appliance installations, reinstallation requires
reimaging the system.
Web DLP
Help | Content Gateway | v8.4.x
Note
The Web DLP configuration options appear on the
Configure menu only if you have enabled Web DLP
(integrated on-box) on the Configure > My Proxy >
Basic > General tab and selected Integration > Web
DLP (integrated on-box) in the Features table.
Option Description
Forcepoint management Specifies the IP address of the Forcepoint management
server IP address server. Configure Web DLP policy in the Data
Security module of the Forcepoint Security Manager.
Analyze HTTPS Content Specifies whether decrypted traffic should be sent to
Forcepoint DLP for analysis, or sent directly to the
destination.
Analyze FTP Uploads Specifies whether to send FTP upload requests to
Forcepoint DLP for analysis. The FTP proxy feature
must be enabled. See FTP, page 311.
Option Description
Forcepoint management Specifies the IP address of the Forcepoint management
server IP server. This is where data security policy
configuration and management is performed.
Administrator user name Specifies the account name of a Forcepoint DLP
administrator. The administrator must have Deploy
Settings privileges.
Administrator password Specifies the password of the Forcepoint DLP
administrator.
Register button Initiate the registration action. This button is enabled
only after data is entered in all of the fields.
Access Control
Help | Content Gateway | v8.4.x
Note
The user interface setting to disable the NTLM cache for
explicit proxy has been removed. Although not
recommended, the cache can be disabled for explicit proxy
traffic in records.config by setting the value of
proxy.config.ntlm.cache.enabled to 0 (zero).
LDAP
LDAP Server: Hostname Specifies the hostname of the LDAP server.
If you change this option, you must restart Content
Gateway.
LDAP Server: Port Specifies the port used for LDAP communication. The
default port number is 389.
To use the default Global Catalog server port, specify
port 3268.
If Secure LDAP is enabled, set the port to 636 or 3269
(the secure LDAP ports).
If you change this option, you must restart Content
Gateway.
LDAP Server: Specifies whether Content Gateway will use secure
Secure LDAP communication with the LDAP server. If enabled, set
the LDAP Port field (above) to 636 or 3269 (the secure
LDAP ports).
Radius
Primary Radius Server: Specifies the hostname or IP address of the primary
Hostname RADIUS authentication server.
If you change this option, you must restart Content
Gateway.
Primary Radius Server: Specifies the port that Content Gateway uses to
Port communicate with the primary RADIUS
authentication server. The default port is 1812.
If you change this option, you must restart Content
Gateway.
Primary Radius Server: Specifies the key to use for encoding.
Shared Key If you change this option, you must restart Content
Gateway.
Secondary Radius Server Specifies the hostname or IP address of the secondary
(optional): Hostname RADIUS authentication server.
If you change this option, you must restart Content
Gateway.
NTLM
Domain Controller Specifies the hostnames of the domain controllers in a
Hostnames comma separated list. The format is:
host_name[:port][%netbios_name]
or
IP_address[:port][%netbios_name]
If you are using Active Directory 2008, you must
include the netbios_name or use SMB port 445.
If you change this option, you must restart Content
Gateway.
Load Balancing Enables or disables load balancing. When enabled,
Content Gateway balances the load when sending
authentication requests to the domain controllers.
Note: When multiple domain controllers are specified,
even if load balancing is disabled, when the load on the
primary domain controller reaches the maximum
number of connections allowed, new requests are sent
to a secondary domain controller as a short-term
failover provision, until such time that the primary
domain controller can accept new connections.
If you change this option, you must restart Content
Gateway.
Important
You must configure the Domains list before you configure
authentication rules.
If you have never configured rule-based authentication,
see Rule-Based Authentication, page 197, for complete
information.
Domains
Domain List An unordered list of domains that have been identified
for use in authentication rules.
Use the Edit button to change some attributes
associated with the domain.
Use the Delete or Unjoin button to remove a domain
from the list.
The domain list is stored in auth_domains.config.
Domain list: New Use the New Domain button to add a domain to the
Domain button Domains list. The screen is expanded to allow for
specification of the domain.
New Domain action
Domain Details: Domain Specify a unique name for the domain. The name is
Identifier used only by Content Gateway; it does not change any
attribute of the actual domain or directory.
Important: You cannot change the domain identifier
after it has been added to the list. To change the name,
delete the entry from the list and re-add it with the new
name.
Domain Details: Specify the authentication method: IWA, Legacy
Authentication Method NTLM, or LDAP. Radius is not supported.
When you select an authentication method,
configuration options specific to that method are
added to the page.
Important: You cannot change the authentication
method after you add the domain to the list. To change
the authentication method, delete the entry from the
list and re-add the domain specifying the new
authentication method.
Domain Details: Aliasing Specify an alias to send to the filtering service for all
users who match this rule (optional). The alias must be
static. It can be empty (blank). The alias must exist in
the primary domain controller (the DC visible to the
filtering service). See Unknown users and the ‘alias’
option, page 202.
IWA Domain Details These options are presented when IWA is specified as
the authentication method.
Important
If you have never configured rule-based authentication,
see Rule-Based Authentication, page 197, for complete
information.
Authentication Rules
Authentication Rule List Displays a table of the ordered list of rules defined for
user authentication. Rules are defined for sets of
clients to be authenticated against one or more IWA,
LDAP and NTLM domains. See Rule-Based
Authentication, page 197.
Refresh Updates the table to display the current rules in the
auth_rules.config file.
Edit File Opens the authentication rule editor.
Warning: Do not edit rules directly in the
configuration file.
SOCKS
Help | Content Gateway | v8.4.x
For more information about Content Gateway support for SOCKS, see Configuring
SOCKS firewall integration, page 169.
Note
The SOCKS configuration options appear on the
Configure pane only if you have enabled SOCKS in the
Features table on the Configure > My Proxy > Basic >
General tab.
Subsystems
The Subsystems configuration options are divided into the following categories:
Cache, page 339
Logging, page 341
Networking, page 345
Cache
Help | Content Gateway | v8.4.x
Allow Pinning Enables or disables the cache pinning option, which lets
you keep objects in the cache for a specified time. Set
cache pinning rules in the cache.config file.
Ram Cache Size Specifies the size of the RAM cache, in bytes. The default
size is 104857600 (100 MB).
A value of “-1” directs Content Gateway to automatically
size the RAM cache to approximately 1 MB per 1 GB of
disk cache.
If you change this option, you must restart Content
Gateway.
Maximum Object Size Specifies the maximum size allowed for objects in the
cache.
A value of 0 (zero) means that there is no size restriction.
Cache Hosting Displays a table listing the rules in the hosting.config file
that controls which cache partitions are assigned to
specific origin servers and domains.
Refresh Updates the table to display the most up-to-date rules in
the hosting.config file.
Edit File Opens the configuration file editor for the hosting.config
file.
The configuration file editor page is described below.
hosting.config Configuration File Editor
rule display box Lists the hosting.config file rules. Select a rule to edit it.
The buttons on the left of the box allow you to delete or
move the selected rule up or down in the list.
Add Adds a new rule to the rule display box at the top of the
configuration file editor page.
Set Updates the rule display box at the top of the
configuration file editor page.
Primary Destination Specifies the primary destination rule type:
Type Select domain if you want to partition the cache
according to domain.
Select hostname if you want to partition the cache
according to hostname
Primary Destination Specifies the domain or origin server’s hostname whose
Value content you want to store on a particular partition.
Partitions Specifies a comma-separated list of the partitions on
which you want to store the content that belongs to the
origin server or domain specified.
Apply Applies the configuration changes.
Close Exits the configuration file editor.
Click Apply before you click Close; otherwise, all
configuration changes will be lost.
Collation Mode Specifies the log collation mode for this Content
Gateway node. You can use the log file collation feature
to keep all logged information in one place. For more
information about log file collation, see Collating event
log files, page 242.
Select Collation Disabled to disable log collation on
this Content Gateway node.
Select Be a Collation Server to configure this Content
Gateway node to be the collation server.
Select Be a Collation Client to configure this Content
Gateway server to be a collation client. A Content
Gateway server configured as a collation client sends
only the active standard log files, such as Squid,
Netscape Common, and so on, to the collation server. If
you select this option, enter the hostname of the
collation server for your cluster in the Log Collation
Server field.
Note: When logs are collated, the source of the log
entry—its node of origin—is lost unless you turn on the
Log collation host tagged option (described below).
Log collation consumes cluster bandwidth in sending
all log entries to a single node. It can therefore affect the
performance of the cluster.
If you want Content Gateway as a collation client to
send custom (XML-based) log files, you must specify a
LogObject in the logs_xml.config file.
Log Collation Server Specifies the hostname of the log collation server to
which you want to send log files.
Log Collation Port Specifies the port used for communication between the
collation server and client. You must specify a port
number in all cases, except when log collation is
inactive. The default port number is 8085.
Note: Do not change the port number unless there is a
conflict with another service already using the port.
Log Collation Secret Specifies the password for the log collation server and
the other nodes in the cluster. This password is used to
validate logging data and prevent the exchange of
arbitrary information.
Log Collation Host When this option is enabled, Content Gateway adds the
Tagged hostname of the node that generated the log entry to end
of the entry in the collated log file.
Log Collation Orphan Specifies the maximum amount of space (in megabytes)
Space allocated to the logging directory for storing orphan log
files on the Content Gateway node. Content Gateway
creates orphan log entries when it cannot contact the log
collation server.
Networking
The Networking configuration options are divided into the following categories:
Connection Management, page 345
ARM, page 347
WCCP, page 354
DNS Proxy, page 358
DNS Resolver, page 359
ICAP, page 362
Virtual IP, page 363
Health Check URLs, page 364
Connection Management
Help | Content Gateway | v8.4.x
The options on the Connection Management pages allow you to tune several
important properties of proxy behavior, including connection throttling and load
shedding, and individual client connection limits and rates.
By default, Content Gateway accepts 60,000 connections. A connection throttle event
occurs when client or origin server connections reach 90% of half the configured limit
(27,000 by default). When a connection throttle event occurs, Content Gateway
continues processing all existing connections and queues new client connection
requests until the connection count falls below the limit.
If you think that Content Gateway is hitting the connection limits, you should monitor
the Performance graphs to get an accurate reading of connection activity. In particular,
check the Active Client Connections and TCP ESTABLISHED Connections
graphs. You can also check error messages in the system log file, error log file, or
event log files.
ARM
Help | Content Gateway | v8.4.x
Redirection Rules Displays the redirection rules in the ipnat.conf file that
specify how incoming packets are redirected when the
proxy is serving traffic transparently. During installation,
Content Gateway creates a small number of default rules.
These rules can be added to and modified. IPv4 and IPv6
addresses are supported. During operation, Content
Gateway traverses the list top down and applies the first
matching rule.
Refresh Updates the table to display the most up-to-date rules in
the ipnat.conf file.
Edit File Opens the configuration file editor for the ipnat.conf file.
Important
This feature is for transparent proxy deployments only.
Static Bypass table Lists the configured static bypass rules. When Content
Gateway is serving transparent traffic, the proxy uses
these rules to determine whether to bypass incoming
client requests or attempt to serve them transparently.
Rules are stored in bypass.config
Refresh Updates the table to display the most up-to-date rules in
the bypass.config file.
Edit File Opens the configuration file editor for the bypass.config
file.
bypass.config Configuration File Editor
rule display box Lists the bypass.config file rules. Select a rule to edit it.
The buttons on the left of the box allow you to delete or
move the selected rule up or down in the list.
Add Adds a new rule to the rule display box at the top of the
configuration file editor page.
Set Updates the rule display box at the top of the
configuration file editor page.
Rule Type Specifies the rule type:
A bypass rule bypasses specified incoming requests.
A deny_dyn_bypass rule prevents the proxy from
bypassing specified incoming client requests
dynamically (a deny bypass rule can prevent Content
Gateway from bypassing itself).
Source IP Specifies the source IP address in incoming requests that
the proxy must bypass or deny bypass. The IP address can
be one of the following:
A simple IP address, such as 123.45.67.8
In CIDR (Classless Inter-Domain Routing) format, such
as 1.1.1.0/24.
A range separated by a dash, such as 1.1.1.1-2.2.2.2
Any combination of the above, separated by commas,
such as 1.1.1.0/24, 25.25.25.25, 123.1.23.1-123.1.23.123
Note
The WCCP configuration options appear on the Configure
pane only if you have enabled WCCP in the Features table
on the Configure > My Proxy > Basic > General tab.
The options defined in the wccp.config configuration file control the use of WCCP
with Content Gateway. Entries should be defined and maintained using the editor
provided on Configure > Networking > WCCP.
Administrators should have a good working knowledge of WCCP.
Only WCCP v2 is supported.
It is recommended that you consult the documentation and the manufacturer’s support
site for information regarding optimal configuration and performance of your
WCCP v2 device. Most devices should be configured to take best advantage of
hardware-based redirection. With Cisco devices, the most recent version of IOS is
usually best.
For every active WCCP service group, there must be a corresponding ARM
redirection rule. See ARM, page 347.
For a complete description of Content Gateway support for WCCP v2, see
Transparent interception with WCCP v2 devices, page 51.
Option Description
WCCP Service Groups Displays a table of the service groups defined in the
wccp.config file. WCCP service group configuration
defines WCCP behavior. Column fields are
explained in the Configuration Editor entries below.
Refresh Refreshes the table to display the current definitions
in the wccp.config file.
Edit File Opens wccp.config in the configuration file editor.
DNS Proxy
Help | Content Gateway | v8.4.x
Note
The DNS Proxy configuration options appear on the
Configure pane only if you have enabled DNS Proxy in the
Features table on the Configure > My Proxy > Basic >
General tab.
DNS Proxy Port Specifies the port that Content Gateway uses for
DNS traffic. The default port is 5353.
DNS Lookup Timeout Specifies the maximum number of seconds the proxy
can wait for a lookup response from the DNS server.
Specifies how long, in seconds, the proxy will wait
before making a second DNS request if there is no
response to the first request. The value is stored in
“proxy.config.hostdb.lookup_timeout”. The default
value is 120 seconds.
Important: This setting is not used. Instead the
records.config entry
“proxy.config.dns.lookup_timeout” is used. The
default value is 20 seconds.
proxy.config.dns.lookup_timeout specifies how long
the proxy will wait for the DNS response after sending
the request.
Foreground Timeout Specifies how long DNS entries remain in the host
database before they are flagged as stale. This setting
is used only when “proxy.config.hostdb.ttl_mode” is
not zero (the default value is 0, which means use the
time-to-live (ttl) value set by the DNS server. See
HostDB, page 449.
For example, if this timeout is 24 hours and a client
requests an entry that has been in the database for 24
hours or longer, the proxy refreshes the entry before
serving it.
The default is 86400 seconds (144 minutes).
Caution: Setting the foreground timeout too low
might slow response time. Setting it too high risks
accumulation of incorrect information.
Failed DNS Timeout Specifies how long, in seconds, that a hostname is
retained in the failed DNS lookup cache (default = 60).
When the timeout expires, the hostname is removed
from the cache and the next request for that hostname
is sent to the DNS server.
A DNS lookup failure is considered to have occurred
when:
● There is no DNS response
● There is a DNS response error code, including
NXDOMAIN
● There is an error parsing the DNS response code
(there is a malformed response).
Zero (0) is not a legal value.
ICAP
Help | Content Gateway | v8.4.x
Note
The ICAP configuration option appears on the Configure
pane only if you have enabled ICAP in the Features table
on the Configure > My Proxy > Basic > General tab.
ICAP provides an alternate interface to Forcepoint DLP, and other data security
services that are ICAP-conversant. A primary and backup URI can be specified, and
failover and load balancing can be configured. See Configuring the ICAP client, page
123 and the subsection for ICAP failover and load balancing, page 124.
ICAP Service URI Specifies the Uniform Resource Identifier for the
ICAP service. The format is:
icap://hostname:port/path
For example:
icap://ICAP_machine:1344/reqmod
The default ICAP port is 1344. If you are using the
default port, you need not specify it in the URI.
An optional secondary URI service can be specified
immediately after the first by adding a comma and the
URI of the second service, no spaces.
Analyze HTTPS Content Select whether decrypted traffic should be sent to the
data protection software for analysis or sent directly to
the destination.
Analyze FTP Uploads Select whether to send FTP upload requests to the data
protection software for analysis. The FTP proxy
feature must be enabled. See FTP, page 311.
Action for Select whether to allow traffic or send a block page if
Communication Errors Content Gateway receives an error while
communication with the data protection software.
Action for Large files Select whether to allow traffic or send a block page if
a file larger than the size limit specified in the data
protection software is sent. The default size limit in
Forcepoint DLP is 50 MB.
Virtual IP
Help | Content Gateway | v8.4.x
Note
The Virtual IP configuration options appear on the
Configure pane only if you have enabled Virtual IP in the
Features table on the Configure > My Proxy > Basic >
General tab.
Content Gateway includes 3 URLs that return proxy health and performance
information in the HTTP response. These URLs are designed to help load balancers
optimize performance by acquiring and adjusting for real-time state information of
each proxy node.
The default port for health check URLs is 8083. The value can be changed in
records.config by assigning the desired value to proxy.config.admin.autoconf_port
WSDOWN
Health Check URLs The load balancer should consider the service down
if the URL request fails for the following reasons:
● No TCP connection -- proxy down
● Response too slow -- proxy deadlocked or not
responsive
● Invalid response
http://[Content Gateway IP address]: Checks connectivity with Content Gateway and
8083/health.basic responds with WSUP or WSDOWN.
Load=2253
Conns=5150
Mbps=6.42
Note
HTTP connection and bandwidth information can be
viewed in the Content Gateway manager on the Monitor >
Protocols > HTTP page.
SSL
The SSL configuration options are divided into the following categories:
● Certificates (see Managing certificates, page 138)
● Decryption/Encryption (see SSL configuration settings for inbound traffic, page
141 and SSL configuration settings for outbound traffic, page 142)
● Validation (see Validating certificates, page 144)
● Incidents (see Managing HTTPS website access, page 150)
● Client certificates (see Client certificates, page 154)
● Customization (see Customizing SSL connection failure messages, page 157)
● Internal Root CA (see Internal Root CA, page 131)
Related topic:
● Logging format cross-reference, page 373
For example, if you want to create a custom format called short_sq based on the first
three Squid fields, enter a line in the logs.config file as follows:
format:enabled:1:short_sq:%<cqts> %<ttms>
%<chi>:short_sq:ASCII:none
See Custom format, page 232, for more information about defining custom log files.
Content Gateway contains the following configuration files that you can edit to
customize the proxy.
Entries of type url_regex within the configuration files use regular expressions to
perform a match.
The following table offers examples to illustrate how to create a valid url_regex.
Value Description
x Matches the character x.
. Match any character.
^ Specifies beginning of line.
$ Specifies end of line.
Examples
To match any host in mydomain.com, specify:
dest_domain=mydomain.com
The auth_domains.config file stores the list of domains that have been identified for
use with Rule-Based Authentication, page 197.
Domains must be identified (added to this file) using the interface in the Content
Gateway manager on the Configure > Security > Access Control > Domains tab.
Do not edit this configuration file.
Format
Each line in auth_domains.config consists of a set of tags; each tag is followed by its
value. For example:
type=<auth_method> name=<unique_name> use_alias=<0 or 1> <additional tags>
The set of tags varies depending on the selected authentication method.
The following table lists all of the tags.
The following table lists the additional tags used with IWA domains.
The following table lists the additional tags used with LDAP domains.
auth_rules.config
The auth_rules.config file stores rules that direct specified IP addresses and IP
address ranges, and/or traffic on specified inbound ports (explicit proxy only), and/or
matching Request header User-Agent values to authenticate with distinct domain
controllers. One or more domain controllers can be specified in an ordered list. This
feature is called Rule-Based Authentication, page 197.
Rule-based authentication rules must be defined in the Content Gateway manager on
the Configure > Security > Access Control > Authentication Rules tab. Do not edit
this configuration file.
● Rule-based authentication is supported for Integrated Windows Authentication
(IWA), legacy NTLM, and LDAP authentication only.
● Each authentication rule can specify source IP addresses, inbound port (explicit
proxy only), and/or a User-Agent regex
● Each authentication rule can specify one or more domains in an ordered list.
Domains are identified on the Configure > Security > Access Control >
Authentication Rules tab. That process includes specifying the authentication
method (IWA, Legacy NTLM, LDAP).
● When a rule matches, authentication is performed against one or more domains in
the ordered list. The first successful authentication ends domain list traversal and
the authenticating domain is cached for later use.
Note
If all the users in your network can be authenticated by
domain controllers that share trust relationships, you
probably don’t need rule-based authentication.
However, rule-based authentication can be useful in any
deployment that needs to perform special authentication
handling based on IP address, inbound proxy port (explicit
proxy), and/or User-Agent values.
Format
Each line in auth_rules.config contains an authentication rule that consists of a set of
tags, each followed by its value. Authentication rules have the format:
rule_name=<name> src_ip=<IP addresses> user_agent=<regex> <additional tags>
The following table lists all of the tags.
bypass.config
The bypass.config file contains static bypass rules that Content Gateway uses in
transparent proxy mode. Static bypass rules instruct Content Gateway to bypass
certain incoming client requests so that they are served by the origin server.
The bypass.config file also accepts dynamic deny bypass rules. See Dynamic deny
bypass rules, page 382.
You can configure three types of static bypass rules:
● Source bypass rules configure the proxy to bypass a particular source IP address
or range of IP addresses. For example, you can bypass clients that do not want to
use caching.
● Destination bypass rules configure the proxy to bypass a particular destination IP
address or range of IP addresses. For example, you can bypass origin servers that
use IP authentication based on the client’s real IP address.
Important
Destination bypass rules prevent the proxy from caching
an entire site. You will experience hit rate impacts if the
site you bypass is popular.
● Source/destination pair bypass rules configure the proxy to bypass requests that
originate from the specified source to the specified destination. For example, you
can route around specific client-server pairs that experience broken IP
Format
Bypass rules have the following format:
bypass src ipaddress | dst ipaddress | src ipaddress AND dst
ipaddress
Option Description
src ipaddress Specifies the source (client) IP address in incoming
requests that the proxy must bypass.
ipaddress can be one of the following:
A simple IP address, such as 123.45.67.8
● In CIDR (Classless Inter-Domain Routing) format,
such as 1.1.1.0/24
● A range separated by a dash, such as 1.1.1.1-2.2.2.2
● Any combination of the above, separated by commas,
such as 1.1.1.0/24, 25.25.25.25, 123.1.23.1-123.1.23.
123
dst ipaddress Specifies the destination (origin server) IP address in
incoming requests that the proxy must bypass.
ipaddress can be one of the following:
A simple IP address, such as 123.45.67.8
● In CIDR (Classless Inter-Domain Routing) format,
such as 1.1.1.0/24
● A range separated by a dash, such as 1.1.1.1-2.2.2.2
● Any combination of the above, separated by commas,
such as 1.1.1.0/24, 25.25.25.25, 123.1.23.1-123.1.23.
123
src ipaddress Specifies the source and destination IP address pair that the
AND dst proxy must bypass.
ipaddress ipaddress can be a single IP address, an IP address range,
or a combination of both separated by commas
For a description of the options, see the table in Format, page 382.
Note
For the dynamic deny bypass rules to work, you must
either:
● Enable the Dynamic Bypass option in the Content
Gateway manager.
● Set proxy.config.arm.bypass_dynamic_enabled to 1
in the records.config file.
Important
Static bypass rules overwrite dynamic deny bypass rules.
Therefore, if a static bypass rule and a dynamic bypass rule
contain the same IP address, the dynamic deny bypass rule
is ignored.
Examples
The following example shows source, destination, and source/destination bypass
rules:
bypass src 1.1.1.0/24, 25.25.25.25, 128.252.11.11-128.252.
11.255
bypass dst 24.24.24.0/24
bypass src 25.25.25.25 AND dst 24.24.24.0
cache.config
The cache.config file defines how the proxy caches web objects. You can add caching
rules to specify the following configuration:
● Not to cache objects from specific IP addresses
● How long to pin particular objects in the cache
Important
After you modify this file, run the following command to
apply the changes:
/opt/WCG/bin/content_line -x
When you apply the changes to a node in a cluster, Content
Gateway applies the changes to all nodes in the cluster.
Format
Each line in the cache.config file contains a caching rule. Content Gateway
recognizes three space-delimited tags:
primary_destination=value secondary_specifier=value
action=value
The following table lists the possible primary destinations and their allowed values.
Secondary specifiers are optional in the cache.config file. The following table lists the
possible secondary specifiers and their allowed values.
Note
You can use more than one secondary specifier in a rule.
However, you cannot repeat a secondary specifier.
The following table lists the possible actions and their allowed values.
Action Value
action One of the following values:
● never-cache configures the proxy to never cache specified
objects.
● ignore-no-cache configures the proxy to ignore all Cache-
Control: no-cache headers.
● ignore-client-no-cache configures the proxy to ignore
Cache-Control: no-cache headers from client requests.
● ignore-server-no-cache configures the proxy to ignore
Cache-Control: no-cache headers from origin server
responses.
pin-in-cache The amount of time you want to keep the objects in the cache.
The following time formats are allowed:
● d for days (for example 2d)
● h for hours (for example, 10h)
● m for minutes (for example, 5m)
● s for seconds (for example, 20s)
● mixed units (for example, 1h15m20s)
revalidate The amount of time you want to consider the object(s) fresh.
Use the same time formats as pin-in-cache.
ttl-in-cache The amount of time you want to keep objects in the cache
regardless of Cache-Control response headers. Use the same
time formats as pin-in-cache and revalidate.
The following example configures the proxy to keep documents with URLs that
contain the regular expression “politics” and the path prefix/viewpoint in the cache
for 12 hours:
url_regex=politics prefix=/viewpoint pin-in-cache=12h
The following example configures the proxy to revalidate gif and jpeg objects in the
domain mydomain.com every 6 hours and all other objects in mydomain.com every
hour:
dest_domain=mydomain.com suffix=gif revalidate=6h
dest_domain=mydomain.com suffix=jpeg revalidate=6h
dest_domain=mydomain.com revalidate=1h
Note
The rules are applied in the order listed.
filter.config
Important
After you modify this file, run the following command to
apply the changes:
/opt/WCG/bin/content_line -x
When you apply the changes to a node in a cluster, Content
Gateway applies the changes to all nodes in the cluster.
Format
Each line in filter.config is a filtering rule. Content Gateway applies the rules in the
order listed, starting at the top of the file. If no rule matches, the request is allowed to
proceed.
Content Gateway recognizes three space-delimited tags:
primary_destination=value secondary_specifier=value action=value
Secondary specifiers are optional. The following table lists the possible secondary
specifiers and their purpose.
Note
You can use more than one secondary specifier in a rule.
However, you cannot repeat a secondary specifier.
The following table lists the possible actions and their allowed values.
Examples
The following example configures Content Gateway to deny all FTP document
requests to the IP address 112.12.12.12:
dest_ip=112.12.12.12 scheme=ftp action=deny
The following example configures Content Gateway to keep the client IP address
header for URL requests that contain the regular expression politics and whose path
prefix is
/viewpoint:
The following example configures Content Gateway to strip all cookies from client
requests destined for the origin server www.server1.com:
dest_host=www.server1.com strip_hdr=cookie
The following example configures Content Gateway to disallow puts to the origin
server www.server2.com:
dest_host=www.server2.com method=put action=deny
Content Gateway applies the rules in the order listed in the file. For example, the
following sample filter.config file configures Content Gateway to do the following:
● Allow all users (except those trying to access internal.com) to access server1.com
● Deny all users access to notthatsite.com
dest_host=server1.com action=allow
dest_host=notthatsite.com action=deny
hosting.config
Help | Content Gateway | v8.4.x
The hosting.config file lets you assign cache partitions to specific origin servers and
domains so that you can manage your cache space more efficiently and restrict disk
usage.
For step-by-step instructions on partitioning the cache according to origin servers and
domains, see Partitioning the cache according to origin server or domain, page 98.
Note
Before you can assign cache partitions to specific origin
servers and domains, you must partition your cache
according to size and protocol in the partition.config file.
For more about cache partitioning, see Partitioning the
cache, page 98. For a description of the partition.config
file, see partition.config, page 404.
After you modify the hosting.config file, run content_line -x from the Content
Gateway bin directory to apply the changes. When you apply the changes to a node in
a cluster, Content Gateway automatically applies the changes to all nodes in the
cluster.
Important
The partition configuration must be the same on all nodes
in a cluster.
where:
hostname is the fully qualified hostname of the origin server whose content you
want to store on a particular partition (for example, www.myhost.com).
domain_name is the domain whose content you want to store on a particular
partition (for example, mydomain.com).
partition_numbers is a comma-separated list of the partitions on which you want
to store the content that belongs to the origin server or domain listed. The partition
numbers must be valid numbers listed in the partition.config file (see partition.
config, page 404).
Note
If you want to allocate more than one partition to an origin
server or domain, enter the partitions in a comma-
separated list on one line. The hosting.config file cannot
contain multiple entries for the same origin server or
domain.
Generic Partition
When configuring the hosting.config file, you must assign a generic partition to use
for content that does not belong to any of the origin servers or domains listed. If all
partitions for a particular origin server become corrupt, Content Gateway uses the
generic partition to store content for that origin server.
The generic partition must have the following format:
hostname=* partition=partition_numbers
Examples
The following example configures the proxy to store content from the domain
mydomain.com in partition 1 and content from www.myhost.com in partition 2. The
proxy stores content from all origin servers in partitions 3 and 4.
domain=mydomain.com partition=1
hostname=www.myhost.com partition=2
hostname=* partition=3,4
The ip_allow.config file controls client access to the proxy. You can specify ranges of
IP addresses that are allowed to use Content Gateway.
Important
After you modify this file, run the following command to
apply the changes:
/opt/WCG/bin/content_line -x
When you apply the changes to a node in a cluster, Content
Gateway applies the changes to all nodes in the cluster.
Format
Each line in the ip_allow.config file must have the following format:
src_ip=ipaddress action=ip_allow | ip_deny
Examples
The following example allows all clients to access the proxy:
src_ip=0.0.0.0-255.255.255.255 action=ip_allow
The following example allows all clients on a specific subnet to access the proxy:
src_ip=123.12.3.000-123.12.3.123 action=ip_allow
The following example denies all clients on a specific subnet to access the proxy:
src_ip=123.45.6.0-123.45.6.123 action=ip_deny
The ipnat.conf file contains redirection rules that specify how incoming packets are
readdressed when the proxy is serving traffic transparently. Content Gateway creates
the redirection rules during installation. You can modify these rules.
Important
After you modify this file, you must restart the proxy.
Format
Each line in the ipnat.conf file must have the following format:
rdr interface 0.0.0.0/0 port dest -> ipaddress port proxy
tcp|udp
where:
interface is the Ethernet interface that traffic will use to access the Content
Gateway machine (for example, eth0 on Linux).
dest is the traffic destination port (for example, 80 for HTTP traffic).
ipaddress is the IP address of your Content Gateway server.
proxy is the Content Gateway proxy port (usually 8080 for HTTP traffic).
Examples
The following example configures the ARM to redirect all incoming HTTP traffic to
the Content Gateway IP address (111.111.11.1) on the Content Gateway proxy port
8080:
rdr hme0 0.0.0.0/0 port 80 -> 111.111.11.1 port 8080 tcp
log_hosts.config
To record HTTP/FTP transactions for different origin servers in separate log files, you
must list each origin server’s hostname in the log_hosts.config file. In addition, you
Note
It is recommended that you use the same log_hosts.config
file on every Content Gateway node in your cluster.
Important
After you modify this file, run the following command to
apply the changes:
/opt/WCG/bin/content_line -x
When you apply the changes to a node in a cluster, Content
Gateway applies the changes to all nodes in the cluster.
Format
Each line in the log_hosts.config file has the following format:
hostname
Note
You can specify keywords in the log_hosts.config file to
record all transactions from origin servers with the
specified keyword in their names in a separate log file. See
the example below.
Examples
The following example configures Content Gateway to create separate log files
containing all HTTP/ FTP transactions for the origin servers webserver1, webserver2,
and webserver3.
webserver1
webserver2
webserver3
The following example records all HTTP and FTP transactions from origin servers
that contain sports in their names (for example, sports.yahoo.com and www.foxsports.
com) in a log file called squid-sport.log (the Squid format is enabled):
sports
The logs_xml.config file defines the custom log file formats, filters, and processing
options. The format of this file is modeled after XML, the Extensible Markup
Language.
Format
The logs_xml.config file contains the following specifications:
● LogFormat specifies the fields to be gathered from each protocol event access.
See LogFormat, page 394.
● LogFilter specifies the filters that are used to include or exclude certain entries
being logged based on the value of a field within that entry. See LogFilter, page
396.
● LogObject specifies an object that contains a particular format, a local filename,
filters, and collation servers. See LogObject, page 397.
Note
The logs_xml.config file ignores extra white space, blank
lines, and all comments.
LogFormat
The following table lists the LogFormat specifications.
Examples
The following is an example of a LogFormat specification collecting information
using three common fields:
<LogFormat>
<Name = "minimal"/>
<Format = "%<chi> : %<cqu> : %<pssc>"/>
</LogFormat>
Note
When specifying the field in the filter condition, you can
omit the %<>. This means that the following filter is
equivalent to the example directly above:
<LogFilter>
<Name = "only_refresh_hits"/>
<Action = "ACCEPT"/>
<Condition = "pssc MATCH REFRESH_HIT"/>
</LogFilter>
The following is an example of a LogObject specification that creates a local log file
for the minimal format defined earlier. The log filename will be minimal.log because
this is an ASCII log file (the default).
<LogObject>
<Format = "minimal"/>
<Filename = "minimal"/>
</LogObject>
mgmt_allow.config
The mgmt_allow.config file specifies the IP addresses of remote hosts allowed access
or denied access to the Content Gateway manager.
Important
After you modify this file, run the following command to
apply the changes:
/opt/WCG/bin/content_line -x
When you apply the changes to a node in a cluster, Content
Gateway applies the changes to all nodes in the cluster.
Format
Each line in the mgmt_allow.config file has the following format:
src_ip=<ipaddress> action=<ip_allow|ip_deny>
Examples
The following example configures Content Gateway to allow only one user to access
the Content Gateway manager:
src_ip=123.12.3.123 action=ip_allow
The following example configures Content Gateway to deny one IP address access to
the Content Gateway manager:
src_ip=123.45.67.8 action=ip_deny
parent.config
The parent.config file identifies the HTTP parent proxies used in an HTTP cache
hierarchy. Use this file to perform the following configuration:
● Set up parent cache hierarchies, with multiple parents and parent failover
● Configure selected URL requests to bypass parent proxies
Rules are applied from the list top-down; the first match is applied. Bypass rules are
usually placed above parent proxy designation rules.
Content Gateway uses the parent.config file only when the HTTP parent caching
option is enabled. See Configuring Content Gateway to use an HTTP parent cache,
page 94.
Important
After you modify this file, run the following command to
apply the changes:
/opt/WCG/bin/content_line -x
When you apply the changes to a node in a cluster, Content
Gateway applies the changes to all nodes in the cluster.
The following table lists the possible primary destinations and their allowed values.
Secondary specifiers are optional in the parent.config file. The following table lists the
possible secondary specifiers and their allowed values.
Examples
The following rule configures a parent cache hierarchy consisting of Content Gateway
(which is the child) and two parents, p1.x.com and p2.x.com. The proxy forwards the
requests it cannot serve to the parent servers p1.x.com and p2.x.com in a round-robin
fashion because round_robin=true.
dest_domain=. method=get parent="p1.x.com:8080; p2.y.
com:8080" round_robin=true
The following rule configures Content Gateway to route all requests containing the
regular expression politics and the path /viewpoint directly to the origin server
(bypassing any parent hierarchies):
url_regex=politics prefix=/viewpoint go_direct=true
Important
Every line in the parent.config file must contain either a
parent= or go_direct= directive.
A bypass rule that includes parent= and go_direct=true,
causes the specified dest_domain to be sent to the parent
while all other domains are bypassed (the opposite of the
usual intended action).
The partition.config file lets you manage your cache space more efficiently by
creating cache partitions of different sizes. You can further configure these partitions
to store data from certain origin servers and domains in the hosting.config file. This
allows you to take better advantage of caching of frequently visited sites where the
content changes infrequently.
Important
The partition configuration must be the same on all nodes
in a cluster.
You must stop Content Gateway before you change the cache partition size.
Format
For each partition you want to create, enter a line with the following format:
partition=<partition_number> scheme=http size=<partition_
size>
Here:
● <partition_number> is a number between 1 and 255 (the maximum number of
partitions is 255).
● <partition_size> is the amount of cache space allocated to the partition. This value
can be either a percentage of the total cache space or an absolute value. The
absolute value must be a multiple of 128 MB, where 128 MB is the smallest
value. If you specify a percentage, the size is rounded down to the closest multiple
of 128 MB. Each partition is striped across several disks to achieve parallel I/O.
For example, if there are four disks, a 1 GB partition will have 256 MB on each
disk (assuming each disk has enough free space available).
Note
If you do not allocate all the disk space in the cache, the
extra disk space is not used. You can use the extra space
later to create new partitions without deleting and clearing
the existing partitions.
Examples
The following example partitions the cache evenly:
partition=1 scheme=http size=50%
partition=2 scheme=http size=50%
Warning
Do not change the records.config variables unless you are
certain of the effect. Many variables are coupled, meaning
that they interact with other variables. Changing a single
variable in isolation can cause Content Gateway to fail.
Whenever possible, use the Content Gateway manager
to configure Content Gateway.
Important
After you modify this file, run the following command to
apply the changes:
/opt/WCG/bin/content_line -x
When you apply the changes to a node in a cluster, Content
Gateway applies the changes to all nodes in the cluster.
Format
Each variable has the following format:
CONFIG <variable_name> <DATATYPE> <variable_value>
Examples
In the following example, the variable proxy.config.proxy_name is of datatype
STRING and its value is contentserver1. This means that the name of the Content
Gateway proxy is contentserver1.
CONFIG proxy.config.proxy_name STRING contentserver1
In the following example, the variable sets the cluster startup timeout to 10 seconds.
CONFIG proxy.config.cluster.startup_timeout INT 10
Configuration variables
Help | Content Gateway | v8.4.x
The following tables describe the configuration variables listed in the records.config
file.
Local manager
Help | Content Gateway | v8.4.x
Process manager
Help | Content Gateway | v8.4.x
Alarm configuration
Help | Content Gateway | v8.4.x
ARM
Help | Content Gateway | v8.4.x
LDAP
Help | Content Gateway | v8.4.x
RADIUS authentication
Help | Content Gateway | v8.4.x
NTLM
Help | Content Gateway | v8.4.x
Security
Help | Content Gateway | v8.4.x
Cluster subsystem
Help | Content Gateway | v8.4.x
Cache
Help | Content Gateway | v8.4.x
DNS
Help | Content Gateway | v8.4.x
HostDB
Help | Content Gateway | v8.4.x
Logging configuration
Help | Content Gateway | v8.4.x
SNMP configuration
Help | Content Gateway | v8.4.x
WCCP configuration
Help | Content Gateway | v8.4.x
Web DLP
Help | Content Gateway | v8.4.x
remap.config
The remap.config file contains mapping rules that Content Gateway uses to redirect
HTTP requests permanently or temporarily without Content Gateway having to
contact any origin server:
Important
After you modify this file, restart the proxy or run the
following command from the Content Gateway bin
directory (/opt/WCG/bin) to apply the changes:
content_line -x
When you apply the changes to a node in a cluster, Content
Gateway applies the changes to all nodes in the cluster.
Field Description
type Enter one of the following:
● map provides the same function as redirect. Use
redirect instead.
● redirect: redirects HTTP requests permanently without
having to contact the origin server. Permanent redirects
notify the browser of the URL change (by returning an
HTTP status code 301) so that the browser can update
bookmarks.
● redirect_temporary: redirects HTTP requests
temporarily without having to contact the origin server.
Temporary redirects notify the browser of the URL
change for the current request only (by returning an
HTTP status code 307).
Note: reverse_map is not supported.
target Enter the origin or from URL. You can enter up to four
components:
scheme://host:port/path_prefix
<scheme> can be http, https, or ftp.
strict URL matching Enable Match URL Exactly to force matching to be exact
flag against the entire requested URL.
Without this option, the URL is compared up to the end of
the target (From Path Prefix). If there is a match, the
redirect is applied. This can cause unwanted matching, when
the redirect URL includes the base URL. See Mapping and
Redirection, page 315.
replacement Enter the destination or to URL. You can enter up to four
components:
scheme://host:port/path_prefix
<scheme> can be http, https, or ftp.
Note
The scheme type (HTTP, HTTPS, FTP) of the target and
replacement must match.
Examples
The following rule permanently redirects all HTTP requests for www.company.com
to www.company2.com:
redirect http://www.company.com http://www.company2.com
socks.config
Note
It is recommended that all SOCKS configuration be
performed in the Content Gateway manager.
Important
After you modify this file, you must restart the proxy.
Traffic that does not match a manually configured rule is handled via a default rule. A
default rule is constructed for each SOCKS server with the default option enabled in
the Socks Servers table. Default rules are created automatically and displayed on the
SOCKS Server page. Default rules are not written in the socks.config file. The
destination IP address is “All.”
Format
To specify SOCKS servers that the proxy must use to reach specific origin servers,
add rules to the socks.config file in the following format:
dest_ip=<ipaddress> socksparent="<alias1>" [round_
robin=<value>]
Here:
<ipaddress> is the origin server IP address or range of IP addresses separated by -
or /.
<alias1> is the alias name of the SOCKS server named in the SOCKS Servers list.
<value> is either strict if you want Content Gateway to try the SOCKS servers
one by one, or false if you do not want round-robin selection to occur.
Note
Each rule in socks.config can consist of a maximum of
400 characters. The order of the rules in the socks.config
file is not significant.
Examples
The following example configures the proxy to send requests to the origin servers
associated with the range of IP addresses 123.15.17.1 - 123.14.17.4 through the
SOCKS server aliases “alias1” and “alias2.” Because the optional specifier round_
robin is set to strict, the proxy sends the first request to alias1, the second request to
alias2, the third request to alias1, and so on.
dest_ip=123.14.15.1 - 123.14.17.4
socksparent="alias; alias2" round_robin=strict
The following example configures the proxy to access the origin server associated
with the IP address 11.11.11.1 directly, without going through the SOCKS server:
no_socks 11.11.11.1
The following example configures Content Gateway to access the origin servers
associated with the range of IP addresses 123.14.15.1 - 123.14.17.4 and the IP address
113.14.18.2 directly, without going through the SOCKS server:
no_socks 123.14.15.1 - 123.14.17.4, 113.14.18.2
socks_server.config
Here:
<name> is the name of a SOCKS server.
<IP_address | domain_name> is an IP address or a domain name that can be
resolved by your DNS service.
<port_number> is the port on which the SOCKS server is listening.
<username> and <password> are the username/password pair for SOCKS 5
authentication. The password is encrypted.
Set default to true to make the specified server a default SOCKS server. When the
default server option is on, the SOCKS server is used when no SOCKS rule
matches.
If no SOCKS server is designated a default server, traffic that doesn’t match a rule
is not routed through a SOCKS server.
Examples:
This example adds the SOCKS server “default1” at 127.0.0.1 on port 61080. It is
designated a default SOCKS server.
alias=default1 host=127.0.0.1 port=61080 default=true
This example adds a SOCKS server that uses authentication. Note that the password
(“465751475058”) is not the real password. It is encrypted.
alias=test1 host=socks5.example.com port=1080 username=test
password=465751475058 default=false
Note
Each rule in socks_server.config cannot exceed 400
characters.
splitdns.config
Help | Content Gateway | v8.4.x
The splitdns.config file enables you to specify the DNS server that Content Gateway
should use for resolving hosts under specific conditions.
Important
After you modify this file, restart the proxy or run the
following command from the Content Gateway bin
directory (/opt/WCG/bin) to apply the changes:
content_line -x
When you apply the changes to a node in a cluster, Content
Gateway applies the changes to all nodes in the cluster.
Format
Each line in the splitdns.config file uses one of the following formats:
dest_domain=dest_domain | dest_host | url_regex named=dns_
server
def_domain=def_domain search_list=search_list
Examples
Consider the following DNS server selection specifications:
dest_domain=internal.company.com named=255.255.255.255:212
255.255.255.254 def_domain=company.com search_list=company.
com company1.com
dest_domain=!internal.company.com named=255.255.255.253
storage.config
The storage.config file lists all the files, directories, or hard disk partitions that make
up the cache.
Important
After you modify this file, you must restart the proxy.
Here, < pathname> is the name of a partition, directory, or file, and <size> is the size
of the named partition, directory, or file, in bytes. You must specify a size for
directories or files. For raw partitions, size specification is optional.
You can use any partition of any size. For best performance, the following guidelines
are recommended:
● Use raw disk partitions.
● For each disk, make all partitions the same size.
● For each node, use the same number of partitions on all disks.
Specify pathnames according to your operating system requirements. See the
following examples.
Important
In the storage.config file, a formatted or raw disk must be
at least 2 GB. The recommended disk cache size is
147 GB.
update.config
The update.config file controls how Content Gateway performs a scheduled update of
specific local cache content. The file contains a list of URLs specifying objects that
you want to schedule for update.
A scheduled update performs a local HTTP GET on the objects at the specific time or
interval. You can control the following parameters for each specified object:
● The URL
● URL-specific request headers, which overrides the default
● The update time and interval
Important
After you modify this file, restart the proxy or run the
following command from the Content Gateway bin
directory (/opt/WCG/bin) to apply the changes:
content_line -x
When you apply the changes to a node in a cluster, Content
Gateway applies the changes to all nodes in the cluster.
Format
Each line in the update.config file uses the following format:
URL\request_headers\offset_hour\interval\recursion_depth\
Examples
The following example illustrates an HTTP scheduled update:
http://www.company.com\User-Agent: noname user
agent\13\3600\5\
This example specifies the URL and request headers, an offset hour of 13 (1 p.m.), an
interval of one hour, and a recursion depth of 5. This would result in updates at 13:00,
14:00, 15:00, and so on. To schedule for an update to occur only once a day, use an
interval value of 24 hours x 60 minutes x 60 seconds = 86400.
The following example illustrates an FTP scheduled update:
ftp://[email protected]/pub/misc/test_file.
cc\\18\120\0\
This example specifies the FTP request, an offset hour of 18 (6 p.m.), and an interval
of every two minutes. The user must be anonymous and the password must be
specified by proxy.config.http.ftp.anonymous_passwd in the records.config file.
wccp.config
The wccp.config file stores the WCCP configuration information and service group
settings. When WCCP is enabled on the Configure > MyProxy > Basic page, WCCP
service group settings can be configured on the Configure > Networking > WCCP
page. Service groups must be defined if WCCP is to be used for transparent
redirection to Content Gateway.
For more information, see Transparent interception with WCCP v2 devices, page 51.
The following table lists messages that can appear in system log files. This list is not
exhaustive; it describes warning messages that can occur and might require your
attention. For information about warning messages not included in the list below, go
to www.forcepoint.com and then navigate to Support and Knowledge Base.
Message Description
Accept port is not between 1 and The port specified in the records.config file that
65535. Please check configuration. accepts incoming HTTP requests is not valid.
Ftp accept port is not between 1 and The port specified in the records.config file that
65535. accepts incoming FTP requests is not valid.
Self loop is detected in parent proxy The name and port of the parent proxy are the same
configuration. as that of Content Gateway. This creates a loop
when Content Gateway attempts to send requests to
the parent proxy.
Could not open the ARM device The ARM failed to load. The most common reason
for this is that the host system has an incompatible
system kernel.
To see if the ARM is loaded, run:
/sbin/lsmod | grep arm
content_manager failed to set cluster The content_manager process could not set the
IP address cluster IP address. Check the cluster IP address.
Make sure that it is not already used by another
device in the network.
Unable to initialize storage. Cache initialization failed during startup. The cache
(Re)Configuration required. configuration should be checked and configured or
reconfigured.
Message Description
Logfile error: error_number Generic logging error.
Bad cluster major version range Incompatible software versions causing a problem.
version1-version2 for node
IP address connect failed
can’t open config file filename for Custom logging is enabled, but Content Gateway
reading custom formats cannot find the logs.config file.
connect by disallowed client The specified client is not allowed to connect to
IP address, closing connection Content Gateway. The client IP address is not listed
in the ip_allow.config file.
Could not rename log filename to System error when renaming log file during roll.
rolled filename
Did this_amount of backup still to do Congestion is approaching.
remaining_amount
Different clustering minor versions Incompatible software versions causing a problem.
version 1, version 2 for node IP
address continuing
log format symbol symbol_name not Custom log format references a field symbol that
found does not exist. See Event Logging Formats, page
369.
missing field for field marker Error reading a log buffer.
Unable to accept cluster connections Contact Technical Support. Go to
on port: cluster_port_number support.forcepoint.com for Technical Support
contact information
Unable to open log file filename, Cannot open the log file.
errno=error_number
Error accessing disk disk_name Content Gateway might have a cache read problem.
You might have to replace the disk.
Too many errors accessing disk Content Gateway is not using the cache disk
disk_name: declaring disk bad because it encountered too many errors. The disk
might be corrupt and might have to be replaced.
No cache disks specified in The Content Gateway storage.config file does not
storage.config file: cache disabled list any cache disks. Content Gateway is running in
proxy-only mode. You must add the disks you want
to use for the cache to the storage.config file (see
storage.config, page 476).
All disks are bad, cache disabled There is a problem with the cache disk(s) and
caching has been disabled. Please verify that the
cache disks are working and have been properly
formatted for caching. See Configuring the Cache,
page 95.
Missing DC parameter A required parameter was not specified. Please
<missing_param> on auth.profile line provide a value for the missing parameter.
The following table describes alarm messages that you may see in the Content
Gateway manager.
Message Description/Solution
The Content Gateway subscription Please contact your Forcepoint customer service
has expired. representative or Technical Support for assistance.
Content Gateway subscription Content Gateway was unable to connect to the
download failed. download server to verify the subscription
information. Please check your connection to the
download server.
After several attempts, Content Verify that Content Gateway is able to access the
Gateway failed to connect to the Internet. Check firewall and upstream proxy server
Database Download Service. Please settings that might prevent Content Gateway from
troubleshoot the connection. connecting to the download server.
After several attempts, Content Verify that there is network connectivity between
Gateway failed to connect to the Content Gateway and the Policy Server machine.
Policy Server. Please troubleshoot Sometimes firewall settings block connectivity.
the connection. Also confirm that Policy Server is running.
After several attempts, Content Verify that there is network connectivity between
Gateway failed to connect to the Content Gateway and Policy Broker. Sometimes
Policy Broker. Please troubleshoot firewall settings block connectivity. Also confirm
the connection. that Policy Broker is running.
The specified ICAP server does not The hostname in the records.config file does not
have a DNS entry. Please ensure match any entries in the DNS. Ensure that the name
that a valid DSS hostname is of a valid Forcepoint DLP server is entered
entered correctly in Content correctly in the Content Gateway manager.
Gateway Manager or in the See Working With Web DLP, page 117 for
proxy.config.icap.ICAPUri information on the format of the URI.
configuration variable.
Content Gateway is not able to Ensure that the Forcepoint management server is up
communicate with the DSS server. and running, and accepting connections on the port
Please try again. specified in the proxy.config.icap.ICAPUri
variable. Contact your Forcepoint DLP
administrator if this message persists.
Domain controller The named NTLM domain controller is not
domain_controller_name:port is responding to requests and has been marked as
down. down. Investigation the status of the domain
controller.
Windows domain [domain name] This alarm can indicate any of the following:
unreachable or bad membership 1. The Active Directory is unreachable. The AD
status server is either down or there is a network
connectivity problem.
2. The AD is reachable, but there is a
configuration problem that prevents it from
communicating with Content Gateway. For
example, the alarm is generated if the AD has
multiple Sites and the subnet that Content
Gateway resides on has not been added to one
of them.
The Scanning Data Files Update This alarm is a reminder that downloads of the
option (My Proxy > Subscription) is security scanning data files used by Content
set to ‘suspend updates’. To get the Gateway analysis has been suspended.
best protection, set it to ‘no delay’, It is recommended that you not clear this alarm until
or, on a backup system, use a time- the delay time has been reset.
based option.
Port Mirroring cannot work unless (Appliance deployments only)
SSL decryption is enabled also. Ensure the SSL decryption (HTTPS) is enabled
Please enable SSL decryption before attempting to use Port Mirroring.
(HTTPS) if you want to use the Port
Mirroring feature.
The mirror interface <int> cannot (Appliance deployments only)
be connected for Port Mirroring. The interface configured for Port Mirroring is not
Please check the interface valid, is not active, or requires configuration.
configuration or edit the interface
value.
Content Gateway returns detailed error messages to browser clients when there are
problems with the HTTP transactions requested by the browser. These response
messages correspond to standard HTTP response codes, but provide more
information. A list of the more frequently encountered HTTP response codes is
provided in Content Gateway standard HTTP response messages, page 489. You can
customize the response messages.
The following table lists the Content Gateway hard-coded HTTP messages, their
corresponding HTTP response codes, and their corresponding customizable files.
The following standard HTTP response messages are provided for your information.
For a more complete list, see the Hypertext Transfer Protocol — HTTP/1.1
Specification.
Message Description
200 OK
202 Accepted
204 No Content
206 Partial Content
300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
400 Bad Request
401 Unauthorized; retry
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not acceptable
408 Request Timeout
500 Internal server error
501 Not Implemented
502 Bad Gateway
504 Gateway Timeout
Trademarks
Traffic Server is a trademark or registered trademark of Yahoo! Inc. in the United States and other coun-
tries.
Red Hat is a registered trademark of Red Hat Software, Inc.
Linux is a registered trademark of Linus Torvalds.
Microsoft, Windows, Windows NT, and Active Directory are either registered trademarks or trademarks
of Microsoft Corporation in the United States and/or other countries.
Mozilla and Firefox are registered trademarks of the Mozilla Foundation.
Netscape and Netscape Navigator are registered trademarks of Netscape Communications Corporation in
the United States and in other countries.
UNIX is a registered trademark of AT&T.
All other trademarks are property of their respective owners.
RESTRICTED RIGHTS LEGEND
Use, duplication, or disclosure of the technical data contained in this document by the Government is sub-
ject to restrictions as set forth in subdivision (c) (1)(ii) of the Rights in Technical Data and Computer Soft-
ware clause at DFARS 52.227-7013 and/or in similar or successor clauses in the FAR, or in the DOD or
NASA FAR Supplement. Unpublished rights reserved under the Copyright Laws of the United States.
Contractor/manufacturer is Forcepoint LLC, 10900 Stonelake Blvd, 3rd Floor, Austin, TX 78759.
Portions of Content Gateway include third-party technology used under license. Notices and attribution
are included below.
Other Acknowledgements
Portions of this software may utilize the following copyrighted material, the use of
which is hereby acknowledged.
Apache log4cxx
Version 0.9.8
Copyright 2004-2007 The Apache Software Foundation
This product includes software developed by The Apache Software Foundation (http://www.apache.org/).
Licensed under the Apache License, Version 2.0.
Boost.Asio
Version 1.54.0
Copyright (c) 2003-2012
Christopher M. Kohlhoff
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software
and accompanying documentation covered by this license (the "Software") to use, reproduce, display, dis-
tribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit
third-parties to whom the Software is furnished to do so, all subject to the following:
The copyright notices in the Software and this entire statement, including the above license grant, this re-
striction and the following disclaimer, must be included in all copies of the Software, in whole or in part,
and all derivative works of the Software, unless such copies or derivative works are solely in the form of
machine-executable object code generated by a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHER-
WISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Filelock.py
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code
form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all
copyright interest in the software to the public domain. We make this dedication for the benefit of the pub-
lic at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org>
gperftools
Copyright (c) 1998
gSOAP
Version 2.8.10
Part of the software embedded in this product is gSOAP software.
Portions created by gSOAP are Copyright (C) 2001-2009 Robert A. van Engelen, Genivia inc. All Rights
Reserved.
THE SOFTWARE IN THIS PRODUCT WAS IN PART PROVIDED BY GENIVIA INC AND ANY EX-
PRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WAR-
RANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THE-
ORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
heimdal
Copyright (c) 1995 - 2014 Kungliga Tekniska Högskolan
(Royal Institute of Technology, Stockholm, Sweden).
All rights reserved.
* Redistributions of source code must retain the above copyright notice, this list of conditions and the fol-
lowing disclaimer.
* Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the documentation.
* Neither the name of the Institute nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTERS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAM-
AGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT , STRICT LIABILI-
TY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE), ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
INN
Copyright © 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
The Internet Software Consortium and Rich Salz.
This code is derived from software contributed to the Internet Software Consortium by Rich Salz Redis-
tribution and use in source and binary forms, with or without modification, are permitted provided that the
following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer in the documentation and/or other ma-
terials provided with the distribution. 3. All advertising materials mentioning features or use of this soft-
ware must display the following acknowledgement: This product includes software developed by the
Internet Software Consortium and its contributors. 4. Neither the name of the Internet Software Consor-
tium nor the names of its contributors may be used to endorse or promote products derived from this soft-
ware without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND CON-
TRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PAR-
TICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTERNET SOFTWARE
CONSORTIUM OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROF-
ITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABIL-
ITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF AD-
VISED OF THE POSSIBILITY OF SUCH DAMAGE.
libarchive
Version 3.1.2
Copyright (c) 2003-2009 by Tim Kientzle
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the fol-
lowing disclaimer in this position and unchanged.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-
CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDEN-
TAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIM-
ITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LI-
ABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF AD-
VISED OF THE POSSIBILITY OF SUCH DAMAGE.
libcurl
Versions 7.30.0
Copyright (c) 1996 - 2013, Daniel Stenberg, <[email protected]>.
All rights reserved.
Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby
granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
RIGHTS. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTH-
ERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of a copyright holder shall not be used in advertising or oth-
erwise to promote the sale, use or other dealings in this Software without prior written authorization of the
copyright holder.
libmagic
Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
Software written by Ian F. Darwin and others; maintained 1994- Christos Zoulas.
This software is not subject to any export provision of the United States Department of Commerce, and
may be exported to any country or planet.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice immediately at the beginning of
the file, without modification, this list of conditions, and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS “AS IS” AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SER-
VICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILI-
TY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Libnet
libnet 1.2-rc3
Copyright (c) 1998 - 2002
Mike D. Schiffman <[email protected]>
http://www.packetfactory.net/libnet
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the fol-
lowing disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SER-
VICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILI-
TY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
libregx
Copyright © 1992, 1993, 1994, 1997 Henry Spencer. All rights reserved.
This software is not subject to any license of the American Telephone and Telegraph Company or of the
Regents of the University of California.
MRTG
Multi Router Traffic Grapher (MRTG) is freely available under the terms of the GNU General Public Li-
cense.
Copyright © 1989, 1991 Free Software Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-
1307, USA
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTH-
ERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PRO-
VIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANT-
ABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUAL-
ITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORREC-
TION.
Net-SNMP
---- Part 1: CMU/UCD copyright notice: (BSD like) -----
Copyright 1989, 1991, 1992 by Carnegie Mellon University
Derivative Work - 1996, 1998-2000
Copyright 1996, 1998-2000 The Regents of the University of California
All Rights Reserved
Permission to use, copy, modify and distribute this software and its documentation for any purpose and
without fee is hereby granted, provided that the above copyright notice appears in all copies and that both
that copyright notice and this permission notice appear in supporting documentation, and that the name of
CMU and The Regents of the University of California not be used in advertising or publicity pertaining to
distribution of the software without specific written permission.
CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL WARRAN-
TIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MER-
CHANTABILITY AND FITNESS. IN NO EVENT SHALL CMU OR THE REGENTS OF THE
UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUEN-
TIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM THE LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TOR-
TIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
OF THIS SOFTWARE.
---- Part 2: Networks Associates Technology, Inc copyright notice (BSD) -----
Copyright (c) 2001-2003, Networks Associates Technology, Inc
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
OpenLDAP
The OpenLDAP Public License
Version 2.4.23, 17 August 2003
Redistribution and use of this software and associated documentation ("Software"), with or without mod-
ification, are permitted provided that the following conditions are met:
1. Redistributions in source form must retain copyright statements and notices,
2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of
conditions, and the following disclaimer in the documentation and/or other materials provided with the dis-
tribution, and
3. Redistributions must contain a verbatim copy of this document.
The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by
a version number. You may use this Software under terms of this license revision or under the terms of
any subsequent revision of the license.
The names of the authors and copyright holders must not be used in advertising or otherwise to promote
the sale, use or other dealing in this Software without specific, written prior permission. Title to copyright
in this Software shall at all times remain with copyright holders.
Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved.
Permission to copy and distribute verbatim copies of this document is granted.
This product includes cryptographic software written by Eric Young ([email protected]). This product
includes software written by Tim Hudson ([email protected]).
Original SSLeay License
-----------------------
Copyright (C) 1995-1998 Eric Young ([email protected])
All rights reserved.
This package is an SSL implementation written by Eric Young ([email protected]). The implementation
was written so as to conform with Netscapes SSL.
This library is free for commercial and non-commercial use as long as the following conditions are ad-
heared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash,
DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered
by the same copyright terms except that the holder is Tim Hudson ([email protected]).
Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed.
If this package is used in a product, Eric Young should be given attribution as the author of the parts of the
library used. This can be in the form of a textual message at program startup or in documentation (online
or textual) provided with the package.
Redistribution and use in source and binary forms, with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions of source code must retain the copyright notice, this list of conditions and the following
disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following ac-
knowledgement:
"This product includes cryptographic software written by Eric Young ([email protected])"
The word 'cryptographic' can be left out if the rouines from the library being used are not cryptographic
related :-).
4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application
code) you must include an acknowledgement:
"This product includes software written by Tim Hudson ([email protected])"
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-
CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THE-
ORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The licence and distribution terms for any publicly available version or derivative of this code cannot be
changed. i.e. this code cannot simply be copied and put under another distribution licence [including the
GNU Public Licence.]
Py2ipaddress
Copyright © 2001-2016 Python Software Foundation. All rights reserved.
1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual
or Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary
form and its associated documentation.
2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclu-
sive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare
derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, how-
ever, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright © 2001-2016 Python
Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version pre-
pared by Licensee.
3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part
thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby
agrees to include in any such work a brief summary of the changes made to Python.
4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTA-
Copyright © 1995-2001 Corporation for National Research Initiatives. All rights reserved.
CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an
office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization
("Licensee") accessing and otherwise using Python 1.6.1 software in source or binary form and its associ-
ated documentation.
2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a nonex-
clusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, pre-
pare derivative works, distribute, and otherwise use Python 1.6.1 alone or in any derivative version,
provided, however, that CNRI's License Agreement and CNRI's notice of copyright, i.e., "Copyright ©
1995-2001 Corporation for National Research Initiatives; All Rights Reserved" are retained in Python
1.6.1 alone or in any derivative version prepared by Licensee. Alternately, in lieu of CNRI's License
Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6.1 is made avail-
able subject to the terms and conditions in CNRI's License Agreement. This Agreement together with Py-
thon 1.6.1 may be located on the Internet using the following unique, persistent identifier (known as a
handle): 1895.22/1013. This Agreement may also be obtained from a proxy server on the Internet using
the following URL: http://hdl.handle.net/1895.22/1013."
3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 or any
part thereof, and wants to make the derivative work available to others as provided herein, then Licensee
hereby agrees to include in any such work a brief summary of the changes made to Python 1.6.1.
4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRE-
SENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT
LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF
MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF
PYTHON 1.6.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 FOR
ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF
MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY DERIVATIVE
THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material breach of its terms and conditions.
7. This License Agreement shall be governed by the federal intellectual property law of the United States,
including without limitation the federal copyright law, and, to the extent such U.S. federal law does not
apply, by the law of the Commonwealth of Virginia, excluding Virginia's conflict of law provisions. Not-
withstanding the foregoing, with regard to derivative works based on Python 1.6.1 that incorporate non-
separable material that was previously distributed under the GNU General Public License (GPL), the law
of the Commonwealth of Virginia shall govern this License Agreement only as to issues arising under or
with respect to Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this License Agreement shall
be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee.
This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark
sense to endorse or promote products or services of Licensee, or any third party.
8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Py-
thon 1.6.1, Licensee agrees to be bound by the terms and conditions of this License Agreement.
Copyright © 1991-1995 Stichting Mathematisch Centrum Amsterdam, The Netherlands. All rights re-
served.
CWI License Agreement for Python 0.9.0 through 1.2
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and
without fee is hereby granted, provided that the above copyright notice appear in all copies and that both
that copyright notice and this permission notice appear in supporting documentation, and that the name of
Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution
of the software without specific, written prior permission.
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR
ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEV-
ER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CON-
TRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Python
Version 2.5.2 and 2.7
Copyright © 2001-2013 Python Software Foundation. All rights reserved.
Copyright © 2000 BeOpen.com. All rights reserved.
Copyright © 1995-2000 Corporation for National Research Initiatives. All rights reserved.
Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved.
Samba
Version 4.4.4
Samba is distributed under terms of the GPL. Forcepoint makes no modifications to any GPL copyrighted
source code. Information about the GPL and code covered under this license can be found at http://
www.gnu.org.
SQLite
Version 3.7.14.1
All of the code and documentation in SQLite has been dedicated to the public domain by the authors. All
code authors, and representatives of the companies they work for, have signed affidavits dedicating their
contributions to the public domain and originals of those signed affidavits are stored in a firesafe at the
main offices of Hwaci. Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original
SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-com-
mercial, and by any means.
Tcl 8.3.5
Tcl software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scrip-
tics Corporation, and other parties.
The following terms apply to all files associated with the software unless explicitly disclaimed in individ-
ual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software
and its documentation for any purpose, provided that existing copyright notices are retained in all copies
and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee
is required for any of the authorized uses. Modifications to this software may be copyrighted by their au-
thors and need not follow the licensing terms described here, provided that the new terms are clearly indi-
cated on the first page of each file where they apply.
IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DI-
RECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF
THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF,
EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE
AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, AND NONINFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN
"AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PRO-
VIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
zlib
Version 1.2.8
(C) 1995-2013 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be
held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications,
and to alter it and redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original
software. If you use this software in a product, an acknowledgment in the product documentation would
be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the
original software.
3. This notice may not be removed or altered from any source distribution.