Guest User

Untitled

a guest
Oct 1st, 2018
1,097
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 265.31 KB | None | 0 0
  1. #
  2. # FILENAME
  3. # webseald.conf
  4. #
  5. # DESCRIPTION
  6. # Configuration file for the Access Manager WebSEAL server (webseald)
  7. #
  8.  
  9.  
  10. ###############################
  11. # WEBSEAL GENERAL
  12. ###############################
  13. [server]
  14.  
  15. # WebSEAL server instance name. Typically, this is based on the hostname of the
  16. # machine and the instance name of the server.
  17. server-name = iam.ibmemm.edu-sharif
  18.  
  19. # If web-host-name is set WebSEAL will use this for the server's hostname. If
  20. # left unset WebSEAL will attempt to automatically determine the server's
  21. # hostname. On systems with many hostnames, interfaces or WebSEAL instances
  22. # the automatic determination may not always be correct requiring this manual
  23. # setting.
  24. # web-host-name = www.webseal.com
  25.  
  26. #----------------------
  27. # THREADS AND CONNECTIONS
  28. #----------------------
  29.  
  30. # Number of WebSEAL worker threads
  31. # The number of configured worker threads specifies the number of
  32. # concurrent incoming requests that can be serviced by this server
  33. # instance. Choosing the optimal number depends on the quantity
  34. # and type of traffic on your network. Modifying this value should
  35. # be done carefully to ensure optimal performance. Please consult
  36. # the WebSEAL Administration Guide for further information.
  37. worker-threads = 300
  38.  
  39. # Initial client connection timeout (seconds)
  40. client-connect-timeout = 120
  41.  
  42. # HTTP/1.1 persistent connection timeout (seconds)
  43. # This only affects connections to clients, not backend systems.
  44. persistent-con-timeout = 5
  45.  
  46. # Intra-request timeout (seconds)
  47. # Timeout between data received or sent for a given request,
  48. # but not the first read. When this value is non-zero, it
  49. # also enables timeouts on http writes to clients and causes
  50. # a TCP RST packet to be sent if a connection timeout occurs
  51. # on the non-first data I/O. When this value is zero, the
  52. # client-connection-timeout is used instead.
  53. intra-connection-timeout = 60
  54.  
  55. # The maximum number of requests that will be processed on a single
  56. # persistent connection.
  57. connection-request-limit = 100
  58.  
  59. # The maximum number of idle client persistent connections. This value
  60. # should be less than the maximum number of connections supported by the
  61. # WebSEAL server to ensure that the idle connections do not consume all of
  62. # the available connections.
  63. max-idle-persistent-connections = 512
  64.  
  65. # Allow WebSEAL to write chunked data to HTTP/1.1 clients. This can
  66. # improve performance by allowing connections to be reused even when
  67. # exact response length is not known before the response is written.
  68. chunk-responses = yes
  69.  
  70. #----------------------
  71. # HTTPS CLIENT
  72. #----------------------
  73.  
  74. # Allow HTTPS access
  75. https = yes
  76.  
  77. # Port to user for HTTPS requests
  78. https-port = 444
  79.  
  80. #----------------------
  81. # HTTP CLIENT
  82. #----------------------
  83.  
  84. # Allow (unsecure) TCP HTTP access
  85. http = yes
  86.  
  87. # Port to use for unsecure HTTP requests
  88. http-port = 80
  89.  
  90. # The following four options can be used to compensate for a protocol or port
  91. # mismatch between WebSEAL and its clients introduced by an intervening
  92. # device or application. The http variants are used to control the protocol
  93. # and port for requests that WebSEAL receives over a TCP interface and the https
  94. # variants are used to control the protocol and port for requests that WebSEAL
  95. # receives over an SSL interface.
  96. #
  97. # web-http[s]-port should be set to the port the client perceives WebSEAL to be
  98. # using, as opposed to the actual port WebSEAL is using, which is specified
  99. # by the http[s]-port parameters.
  100. # web-http-port and web-https-port is optional.
  101. #
  102. # web-http[s]-protocol should be set to the protocol the browser perceives
  103. # WebSEAL to be using, as opposed to the protocol that the intervening
  104. # device uses to communicate with WebSEAL.
  105. # Valid values are "http" or "https".
  106. # web-http-protocol and web-https-protocol is optional.
  107. #
  108. #web-http-port = 80
  109. #web-http-protocol = http
  110. #web-https-port = 443
  111. #web-https-protocol = https
  112.  
  113. #----------------------
  114. # REQUEST BODIES AND CACHING
  115. #----------------------
  116.  
  117. # This parameter specifies the maximum number of bytes that
  118. # WebSEAL will read from a client when parsing an HTTP request.
  119. # The total size of the URL and HTTP headers must be less than
  120. # this value. This parameter cannot be set lower than it's
  121. # default: 32768
  122. max-client-read = 32768
  123.  
  124. # This parameter specifies the maximum number of bytes to
  125. # read in as content from the body of requests for use in
  126. # dynurl, authentication, and request caching.
  127. #
  128. # 1) This impacts dynurl because the query portion of a
  129. # POST request URI is contained in the request body.
  130. #
  131. # 2) This impacts forms authentication, because this limits
  132. # the size of the POST data that will be processed
  133. # when performing such authentication. For this reason,
  134. # WebSEAL sets a hard minimum of 512 bytes on
  135. # request-body-max-read. If this value is set below
  136. # that minimum, the setting will be ignored and the
  137. # minimum will be used.
  138. #
  139. # 3) This affects the amount of data that WebSEAL will cache
  140. # for users who must authenticate before their request can be
  141. # fulfilled. This affects all request that have bodies
  142. # (POSTs, PUTs, etc.).
  143. #
  144. # This does not limit the max POST size (which is unlimited).
  145. #
  146. request-body-max-read = 4096
  147.  
  148. # When a user is prompted to authenticate before a request
  149. # can be fulfilled, the data from that request is cached
  150. # for processing after the completion of the authentication.
  151. # The maximum amount of data cached per request is determined
  152. # by request-max-cache.
  153. # If you want to ensure that you will be caching all of
  154. # request-body-max-read worth of the body of requests, you
  155. # must account for the maximum size of all the other request
  156. # components in this value.
  157. # Example: If you want to cache 2048 bytes of request bodies
  158. # and you anticipate that the maximum size of all request headers
  159. # and cookies will be 4096 bytes, you would:
  160. # 1) set request-body-max-read = 2048
  161. # 2) set request-max-cache = 2048 + 4096 = 6144
  162. request-max-cache = 8192
  163.  
  164. #----------------------
  165. # DYNURL
  166. #----------------------
  167. # Location of the URL -> protected object mapping file
  168. # This path is relative to the server-root value in the [server] stanza
  169.  
  170. # The following files are currently available for this configuration entry:
  171. # - dynurl.conf
  172.  
  173. dynurl-map = dynurl.conf
  174.  
  175. # Disallow/Allow POST requests larger than request-body-max-read.
  176. # This parameter only takes effect if dynurl is enabled.
  177. #
  178. # WebSEAL is not able to compare the entire contents of a POST
  179. # request to the URL mappings inside the dynurl.conf file if the body
  180. # of the post is larger than request-body-max-read.
  181. #
  182. # If this option is set to "no", then WebSEAL will not
  183. # allow POST requests with a body larger than request-body-max-read.
  184. #
  185. # If this option is set to "yes", then WebSEAL will compare only
  186. # up to request-body-max-read bytes of a POST request to the URL mappings
  187. # in the dynurl.conf file.
  188. dynurl-allow-large-posts = no
  189.  
  190. # When reject-request-transfer-encodings is set to yes all request
  191. # to WebSEAL with a Transfer-Encoding value of anything other than
  192. # identity or chunked will be rejected with a status of 501, Not Implemented.
  193. # It is recomended for secure dynurl environments to set this to yes.
  194. reject-request-transfer-encodings = yes
  195.  
  196. # When suppress-dynurl-parsing-of-posts is set to "yes" POST bodies will
  197. # not be used in dynurl processing, only Query strings will be used.
  198. # Before enabling this you must be certain that all dynurl checked server
  199. # applications do not accept arguments from POST bodies so dynurl checks
  200. # can't be bypassed using a POST instead of a Query string.
  201. suppress-dynurl-parsing-of-posts = no
  202.  
  203. #----------------------
  204. # URI AND POST BODY DECODING
  205. #----------------------
  206.  
  207. # If decode-query is set to "yes", WebSEAL will validate the query string
  208. # in requests according to the utf8-qstring-support-enabled parameter.
  209. # Otherwise, WebSEAL will not validate the query string. If decode-query
  210. # is set to "no" then dynurl must be disabled.
  211. decode-query = yes
  212.  
  213. # Different portions of HTTP requests may be interpreted as either UTF-8 or
  214. # local code page according to the configuration items in this section. The
  215. # options for each portion of the request are either to ensure that the data
  216. # is UTF-8, ensure that the data is local codepage, or to accept either.
  217. #
  218. # If an option in this section is "yes", WebSEAL will ensure that the data
  219. # in that portion of the request is UTF-8.
  220. #
  221. # If an option in this section is "no", WebSEAL will ensure that the data
  222. # in that portion of the request is local codepage.
  223. #
  224. # If an option in this section is "auto", WebSEAL will first attempt to
  225. # validate the data as UTF-8. If the data is not UTF-8, then WebSEAL will
  226. # ensure the data is local codepage.
  227.  
  228. # utf8-url-support-enabled controls how the location portion of the URI
  229. # (the portion before any question mark character) is intepreted.
  230. utf8-url-support-enabled = yes
  231.  
  232. # utf8-qstring-support-enabled controls how the query portion of the URI
  233. # (the portion after the question mark character) is interpreted. This also
  234. # applies to the POST bodies of requests to junctions when dynurl is enabled.
  235. utf8-qstring-support-enabled = no
  236.  
  237. # utf8-forms-support-enabled option controls how form logins, password change
  238. # requests, and other WebSEAL specific forms are parsed.
  239. utf8-form-support-enabled = yes
  240.  
  241. # When double-byte-encoding is set to 'yes' WebSEAL will assume that URL's
  242. # which contain encoding characters are always encoded in unicode, and will
  243. # not contain UTF-8 encoded characters.
  244. double-byte-encoding = no
  245.  
  246.  
  247. # When a client URL specifies a directory location that does not end
  248. # in a trailing '/', the client is redirected to the same URL with a
  249. # trailing '/' added. This is necessary for ACL checks to work properly.
  250. # slash-before-query-on-redirect controls where the '/' is added
  251. # if the orginal URL has a query string.
  252. #
  253. # Setting slash-before-query-on-redirect to 'yes' causes the trailing '/'
  254. # to be added before the query string.
  255. # For example:
  256. # /root/directoryname?query becomes /root/directoryname/?query
  257. #
  258. # Setting slash-before-query-on-redirect to 'no' causes the trailing '/'
  259. # to be added after the query string.
  260. # For example:
  261. # /root/directoryname?query becomes /root/directoryname?query/
  262. #
  263. # A setting of 'no' could cause browser errors and is not recommended. This
  264. # option exists for backwards compatibility only.
  265.  
  266. slash-before-query-on-redirect = yes
  267.  
  268.  
  269. #----------------------
  270. # SUPPRESSING SERVER IDENTITY
  271. #----------------------
  272.  
  273. # WebSEAL writes a Server header with the value "WebSEAL/version.number"
  274. # with most responses (except those from a junctioned server).
  275. # Including this header can be suppressed by setting this to "yes".
  276. suppress-server-identity = no
  277.  
  278. # For responses that were from a junctioned server, WebSEAL writes the Server
  279. # header sent in the response from the backend. If the backend response did not
  280. # include a Server header, then WebSEAL will not write any Server header to the
  281. # client.
  282. # Writing this header can be suppressed by setting this to "yes".
  283. suppress-backend-server-identity = no
  284.  
  285. #----------------------
  286. # AUTH TOKEN VERSION
  287. #----------------------
  288.  
  289. # Version 8.0.0 tokens use a different cipher than tokens in prior releases.
  290. # If you are integrating with earlier versions of ISAM you will need to enable
  291. # this to ensure the integrity of data across [e-community-sso], [failover], and
  292. # [cdsso].
  293. pre-800-compatible-tokens = no
  294.  
  295. #----------------------
  296. # P3P Compact Policy header
  297. #----------------------
  298. # If 'preserve-p3p-policy' is set to 'no' (default), then any P3P headers from
  299. # junctioned servers will be replaced.
  300. #
  301. # If 'preserve-p3p-policy' is set to 'yes', then any P3P headers from junctioned
  302. # servers will be preserved.
  303. preserve-p3p-policy = no
  304.  
  305. #----------------------
  306. # Network Interface
  307. #----------------------
  308. # Specify an alternative I.P. address to be used by this instance of WebSEAL.
  309. # This allows two or more WebSEAL instances to run on the same machine
  310. # while using differing I.P. addresses and host names.
  311. #
  312. # network-interface = 0.0.0.0
  313. network-interface = 192.168.42.193
  314.  
  315. # If always-neg-tls is set to "yes" then any TLS connections on this interface
  316. # will only process one request. Once the request is complete the connection
  317. # will be closed and the TLS session will be destroyed. This forces a full
  318. # TLS session renegotiation every connection. This is a expensive method of
  319. # using TLS so this option should only be enabled if absolutely necessary.
  320. # Typically it could be enabled on the interface the secondary-port is referring
  321. # to so the TLS on that interface always requests a certificate from the client
  322. # (browser).
  323. always-neg-tls = no
  324.  
  325. # Set use-secondary-listener to "yes" to inform webseal that this interface
  326. # uses the secondary port. Used to improve compatibility with some browsers.
  327. use-secondary-listener = no
  328.  
  329. #----------------------
  330. # Filtering
  331. #----------------------
  332. # If preserve-base-href is no, then WebSEAL will remove all BASE HREF tags
  333. # from filtered HTML documents and prepend the base tag to filtered links.
  334. # Otherwise, the BASE HREF tag will be filtered.
  335. preserve-base-href = yes
  336.  
  337. # If both preserve-base-href and preserve-base-href2 are set to yes, then
  338. # WebSEAL will only perform the minimum filtering of the BASE HREF tag
  339. # necessary to insert the WebSEAL host and junction names.
  340. # If preserve-base-href is no, preserve-base-href2 has no effect.
  341. preserve-base-href2 = yes
  342.  
  343. # To enable tag-based filtering of static URLs for new MIME types added
  344. # to the [filter-content-types] stanza, change filter-nonhtml-as-xhtml to
  345. # yes. Tag-based URL filtering operates without configuration changes
  346. # for the text/html and text/vnd.wap.wml MIME types.
  347. filter-nonhtml-as-xhtml = no
  348.  
  349. #---------------------
  350. # Method disablement
  351. #---------------------
  352. # Specify the HTTP methods which should be blocked when requesting local or remote
  353. # resources. Multiple methods should be separated with a comma (','). For example, to
  354. # block access to the TRACE and PUT methods over local junctions the configuration entry
  355. # would be:
  356. # http-method-disabled-local = TRACE,PUT
  357. #
  358. http-method-disabled-local = TRACE,PUT,DELETE,CONNECT
  359. http-method-disabled-remote = TRACE,PUT,DELETE,CONNECT
  360.  
  361. #---------------------
  362. # Processing root junction requests
  363. #---------------------
  364. # Specify whether WebSEAL will attempt to process requests for resources
  365. # located at the root ('/') junction before attempting to identify a
  366. # junction point to send the request via junction mapping mechanisms
  367. # such as the JMT or IV_JCT cookie.
  368. #
  369. # Avoiding root junction processing prevents processing being performed
  370. # for incorrect resources before the intended resource is identified.
  371. # This will have performance benefits and prevent false authorization or
  372. # filetype check failures.
  373. #
  374. # Valid choices are:
  375. # never - Root junction requests are never processed at the root junction.
  376. # That is, if a junction mapping mechanism is configured, such as
  377. # the JMT or IV_JCT cookie, WebSEAL will look for this junction
  378. # mapping information first (and look at the root junction last)
  379. # and process the request at the mapped junction point.
  380. #
  381. # always - Always attempt to process requests for the root junction at the
  382. # root junction first before looking for a configured junction
  383. # mapping mechanism, such as the JMT or IV_JCT cookie.
  384. # This is not recommended unless the root junction serves a large
  385. # set of resources or no junction mapping mechanisms are configured
  386. # for the set of junctions served by this WebSEAL server.
  387. #
  388. # filter - All root junction requests will be examined to determine whether
  389. # they start with the patterns specified in the process-root-filter
  390. # stanza.
  391. # If yes, the request will be processed at the root junction first.
  392. # If no, the request will be remapped immediately.
  393. #
  394. process-root-requests = always
  395.  
  396. #---------------------
  397. # IPv6 support
  398. #---------------------
  399. #
  400. # Specify whether WebSEAL will support IPv6.
  401. #
  402. # Upon a new installation, WebSEAL supports IPv6 by default. However, if
  403. # WebSEAL is upgraded from a release previous to 6.0, then the upgrade
  404. # process will change this value to 'no'. This is to ensure backwards
  405. # compatibility.
  406. #
  407. # Valid choices are:
  408. # yes - Support IPv6 and IPv4 networks (default setting).
  409. #
  410. # no - Only support IPv4 networks.
  411. #
  412. ipv6-support = yes
  413.  
  414. # ip-support-level determines the network attributes placed in credentials.
  415. # WebSEAL version 6.0 introduces new improved attributes which displace
  416. # the older attribute. The new attributes are required when IPv6 support
  417. # (ipv6-support) is enabled. This entry can be set to one of displaced-only,
  418. # generic-only, or displaced-and-generic.
  419. #
  420. # displaced-only:
  421. # The default for migrated installations. WebSEAL will only generate the
  422. # displaced IPv4 attributes when building credentials and when authenticating
  423. # users through CDAS modules.
  424. #
  425. # generic-only:
  426. # The default for new installations. WebSEAL will only generate the new generic
  427. # (supports both IPv4 and IPv6) attributes when building credentials and when
  428. # authenticating users through CDAS modules.
  429. #
  430. # displaced-and-generic:
  431. # Both sets of attributes (displaced and generic) are created.
  432. #
  433. ip-support-level = generic-only
  434.  
  435. #---------------------
  436. # max-login-failures policy compatibility
  437. #---------------------
  438. #
  439. # When late-lockout-notification = no, WebSEAL will notify clients that their
  440. # account has been locked out immediately.
  441. # When late-lockout-notification = yes WebSEAL will operate in a pre-v6.0
  442. # compatible mode for user registry max-login-failures policy behavior,
  443. # and not notify users until their next request.
  444. # The default for new installations is disabled (no). The default for migrated
  445. # installations is enabled (yes).
  446. late-lockout-notification = no
  447.  
  448. # When reject-invalid-host-header is set to yes all requests
  449. # to WebSEAL with an invalid host header (see RFC2616) will be
  450. # rejected with a status of 400, Bad Request.
  451. reject-invalid-host-header = no
  452.  
  453. #---------------------
  454. # Adding HttpOnly attribute
  455. #---------------------
  456. # When use-http-only-cookies is set to 'yes', WebSEAL will add the "HttpOnly"
  457. # attribute to the session and failover cookies. This will help defend against
  458. # cross-site-scripting attacks by informing the browser not to make these
  459. # cookies available to browser scripts.
  460. use-http-only-cookies = yes
  461.  
  462. #---------------------
  463. # Allow all Shift-JIS Muti-Byte characters
  464. #---------------------
  465. # When allow-shift-jis-chars is set to "yes" junctions created using -w will
  466. # allow all Shift-JIS Muti-Byte characters in junction file and path names.
  467. # When set to "no" junction file and path names using Shift-JIS Multi-Byte
  468. # characters containing the single byte character '\' will be rejected.
  469. allow-shift-jis-chars = no
  470.  
  471. #---------------------
  472. # Pipelining
  473. #---------------------
  474. # WebSEAL does not support pipelined requests from browsers. When this option
  475. # is set to "yes" and WebSEAL detects pipelined requests it will close the
  476. # connection to inform the the browser that is should resend the pipelined
  477. # requests in a normal manner. This should always be set to "yes" unless the
  478. # previous WebSEAL behavior is required.
  479. cope-with-pipelined-request = yes
  480.  
  481. #---------------------
  482. # Unauthenticated users and "-b supply"
  483. #---------------------
  484. # This parameter determines if unauthenticated users can access junctions
  485. # created with "-b supply". When set to "no" the default behavior occurs.
  486. # Default behavior does not allow unauthenticated users to access resources
  487. # on a junction created using "-b supply", rather it will prompt then to
  488. # authenticate. When "allow-unauth-ba-supply" is set to "yes" unauthenticated
  489. # users will be allowed access "-b supply" junctions. The basic authentication
  490. # header supplied to the junction will contain the user name 'unauthenticated'.
  491. allow-unauth-ba-supply = no
  492.  
  493. #---------------------
  494. # Tag-value label for missing attributes
  495. #---------------------
  496. # WebSEAL allows credential attributes to be inserted into the HTTP stream
  497. # as HTTP headers. In the event that a requested attribute was not located
  498. # within the credential the HTTP header will still be created with a static
  499. # string. The tag-value-missing-attr-tag configuration entry defines the
  500. # contents of the header.
  501. tag-value-missing-attr-tag = NOT_FOUND
  502.  
  503. # Each attribute name set in a junction object's HTTP-Tag-Value is
  504. # automatically prefixed by "tagvalue_" before locating it in the credential.
  505. # This prohibits access to credential attributes that don't have names
  506. # beginning with "tagvalue_" such as "AUTHENTICATION_LEVEL". When this option
  507. # is set to "no", the automatic prefixing of "tagvalue_" will not occur so all
  508. # credential attributes can be specified in HTTP-Tag-Value.
  509. force-tag-value-prefix = yes
  510.  
  511. #---------------------
  512. # URLs and extra consecutive slashes ("/")
  513. #---------------------
  514. # WebSEAL does not allow extra consecutive slashes ("/") to be present in URL and
  515. # silently removes those extra slashes if present, so an URL
  516. # "/jct/a//b.html" becomes "/jct/a/b.html"
  517. # or
  518. # "/jct//a////b.html" becomes "/jct/a/b.html"
  519. # but with this below option set to "yes|true", extra slashes will not be removed i.e.
  520. # "/jct/a//b.html" or "/jct//a////b.html" will be sent to backend as it is.
  521. #
  522. allow-extra-slashes-in-urls = false
  523.  
  524.  
  525. #
  526. # The maximum number of bytes which may be returned from the 'file cat'
  527. # server task command.
  528. #
  529. max-file-cat-command-length = 4096
  530.  
  531. # The auth-challenge-type contains a comma separated list of
  532. # authentication types which will be used when challenging a
  533. # client for authentication information. The supported authentication
  534. # types include:
  535. # ba, forms, spnego, token, cert and eai.
  536. #
  537. # The corresponding authentication configuration entry (e.g. ba-auth)
  538. # must be enabled for each specified authentication challenge type.
  539. #
  540. # By default the list of authentication challenge types will match that
  541. # of the list of configured authentication mechanisms.
  542. #
  543. # Each authentication type can additionally be configured with a set of rules.
  544. # These rules are used to determine the user agents for which the
  545. # authentication type is enabled. Each set of rules must be contained within
  546. # square brackets and separated by semicolons. Each pattern must begin with
  547. # a '+' or '-' character to indicate inclusion or exclusion respectively.
  548. # Patterns can contain alphanumeric characters, spaces, underscores and
  549. # periods. The wildcard characters '*' # and '?' can also be used.
  550. #
  551. # For example:
  552. #
  553. # auth-challenge-type = [+*MSIE*]ba, [-*MSIE*;+*]forms
  554. #
  555. # This configuration will present a basic authentication challenge to user
  556. # agents containing 'MSIE' (Internet Explorer browsers) and a forms based
  557. # challenge to all other user agents. See the WebSEAL administration guide
  558. # for further information.
  559. #
  560. # Do not use authentication challenge types as a security or enforcement
  561. # measure. If no challenge types can be determined for a given user agent
  562. # string, WebSEAL will fall back to the list of all configured authentication
  563. # mechanisms.
  564. #
  565. # This configuration item may be customized for a particular junction
  566. # by adding the adjusted configuration item to a [server:{jct_id}] stanza,
  567. # where '{jct-id}' refers to the junction point for a standard junction
  568. # (include the leading '/'), or the virtual host label for a virtual host
  569. # junction.
  570. # auth-challenge-type =
  571.  
  572. #
  573. # The maximum number of concurrent threads which can be consumed
  574. # by a single user session before warning messages are generated. WebSEAL
  575. # will continue to process requests for this session until the corresponding
  576. # hard-limit is reached.
  577. #
  578. # concurrent-session-threads-soft-limit = 5
  579.  
  580. #
  581. # The maximum number of concurrent threads which can be consumed
  582. # by a single user session. Once the thread limit for the user session has
  583. # been reached the request will not be processed by WebSEAL and an error
  584. # will be returned to the client.
  585. #
  586. # If no value is specified for this configuration item there will be no
  587. # limit to the number of concurrent threads that a user session can
  588. # consume.
  589. #
  590. # concurrent-session-threads-hard-limit = 10
  591.  
  592. #
  593. # WebSEAL normally reduces the timeout for connection I/O based on the
  594. # number of active worker threads, and how many requests have been processed
  595. # on the connection. The following configuration item can be used to
  596. # disable this automatic timeout reduction.
  597. #
  598. # disable-timeout-reduction = no
  599.  
  600. # This configuration option allows you to disable HTTP Keep-Alives for
  601. # responses >= 2GB sent back to Internet Explorer 6 client browsers. The
  602. # primary purpose of this is to allow WebSEAL to mimic the IIS workaround
  603. # published at:
  604. # http://support.microsoft.com/kb/298618
  605. #
  606. # This will enable clients using Microsoft Internet Explorer 6.0 to download
  607. # files greater than 2GB, but less than 4GB.
  608. enable-IE6-2GB-downloads = no
  609.  
  610. #
  611. # The following configuration entry controls whether the negotiate and ntlm
  612. # www-authenticate headers will be removed from the responses which are received
  613. # from junctioned servers.
  614. #
  615. strip-www-authenticate-headers = yes
  616.  
  617. #
  618. # The following configuration entry is used to control whether unsolicited
  619. # authentication requests are allowed. If set to 'no' a login will only
  620. # be allowed if WebSEAL first returns a login form to the client.
  621. #
  622.  
  623. allow-unsolicited-logins = yes
  624.  
  625. # Buffer size for reading from and writing to a client.
  626. io-buffer-size = 16384
  627.  
  628. #
  629. # The maximum number of consecutive 302 redirects that
  630. # will be followed internally before WebSEAL concedes and
  631. # passes the response back to the client. A value of 0
  632. # indicates that all 302 redirects will be sent back to the
  633. # client for processing.
  634. #
  635. maximum-followed-redirects = 0
  636.  
  637. #
  638. # WebSEAL is capable of examining 302 responses and processing the redirects
  639. # internally if they are destined for the current server using the same
  640. # protocol. This configuration entry controls the requests for which this
  641. # redirect functionality is enabled. A case-sensitive comparison will be made
  642. # between the configuration entry and the HTTP request line. Shell-style
  643. # pattern matching for '*', '?', '\' and '[]' can be used in the comparison
  644. # (excluding special match strings).
  645. #
  646. # Special match strings:
  647. # - "!LRR!" will match any request resulting in a Local Response Redirect
  648. # action occurring.
  649. # - "!REPLAY!" will match any redirection to replay a URL that was interrupted
  650. # by a successful authentication.
  651. #
  652. # Multiple patterns can be specified by including multiple configuration
  653. # entries of the same name.
  654. #
  655. # Example:
  656. # follow-redirects-for = GET /jct/index.html *
  657. # follow-redirects-for = !LRR!
  658. follow-redirects-for =
  659.  
  660. ########
  661. # HTTP/2 enablement for main (default) interface to browsers.
  662. #
  663. # Enable/disable HTTP/2 encoded connections from browsers.
  664. # This setting only affects the "default" interface defined in this stanza.
  665. #
  666. # HTTP/2 supports a reduced set of cipher suites. The minimum cipher is
  667. # TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, and this is not included in the
  668. # set of ciphers specified by the 'AES-128' cipher alias. In order to add
  669. # support for this cipher the following entry must be added as the first entry
  670. # within the ssl-qop-mgmt-default configuration stanza:
  671. # default = TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  672. enable-http2 = no
  673.  
  674. # HTTP/2: maximum number of network connections from HTTP/2 enabled browsers.
  675. # This is per inteface/port (http and https), so if both http and https
  676. # are enabled then the total max connections would be double this.
  677. # This setting only affects the "default" interface defined in this stanza.
  678. http2-max-connections = 200
  679.  
  680. # HTTP/2: maximum size in bytes that WebSEAL will accept for header compression
  681. # table (RFC 7541). There is one table per HTTP/2 network connection.
  682. http2-header-table-size = 4096
  683.  
  684. # HTTP/2: maximum number of simultanious multiplexed streams WebSEAL will accept
  685. # per HTTP/2 network connection. A value of -1 denotes the unlimited setting
  686. # and is not recomended in a production WebSEAL environment as memory use in
  687. # WebSEAL would be unbounded.
  688. # This setting only affects the "default" interface defined in this stanza.
  689. # Notes:
  690. # - Each stream will have a 'http2-initial-window-size' byte buffer.
  691. # - Each stream will need a worker-thread to process the one request/response
  692. # send over it before it is ended.
  693. http2-max-concurrent-streams = 100
  694.  
  695. # HTTP/2: maximum number of unacknowledged bytes WebSEAL can accept per active
  696. # multiplexed stream. WebSEAL will create an in-memory buffer to hold this
  697. # many bytes for each active multiplexed stream.
  698. # This setting only affects the "default" interface defined in this stanza.
  699. http2-initial-window-size = 65535
  700.  
  701. # HTTP/2: maximum size of the body of a single HTTP/2 protocol frame send over
  702. # the HTTP/2 network connection.
  703. # This setting only affects the "default" interface defined in this stanza.
  704. http2-max-frame-size = 16384
  705.  
  706. # HTTP/2: maximum size of headers that can be send in a request on a HTTP/2
  707. # stream. A value of -1 denotes the unlimited setting and is not recomended in a
  708. # production WebSEAL environment as memory use in WebSEAL would be unbounded.
  709. # If not set it will default to the value of [server] max-client-read.
  710. # This setting only affects the "default" interface defined in this stanza.
  711. http2-max-header-list-size = 32768
  712.  
  713. # HTTP/2: maximum duration in seconds for an HTTP/2 connection. The connection
  714. # will be closed if this limit is reached.
  715. # This setting applies to HTTP/2 connections for all interfaces.
  716. http2-max-connection-duration = 120
  717.  
  718. # HTTP/2: Amount of time the HTTP/2 connection can be idle (not processing any
  719. # requests). The connection will be closed if it is idle for this time.
  720. # This setting applies to HTTP/2 connections for all interfaces.
  721. http2-idle-timeout = 20
  722.  
  723.  
  724. [process-root-filter]
  725. # This stanza is only used if process-root-requests = filter
  726. # Request URLs starting with the following patterns will be processed at the
  727. # root junction before attempting to remap the requests to a new junction point.
  728. # Format is
  729. # root = <pattern>
  730. # where <pattern> is a standard WebSEAL wildcard pattern.
  731. #
  732. root = /index.html
  733. root = /cgi-bin*
  734.  
  735. [validate-headers]
  736. # This stanza is used to list those headers which should be validated
  737. # on each request. The format of each configuration entry is:
  738. #
  739. # <hdr> = <value>
  740. #
  741. # For example to ensure all requests are from www.ibm.com set:
  742. #
  743. # host = www.ibm.com
  744. #
  745. # If multiple headers of the same name are configured, the corresponding
  746. # header in the request must match one of the configured values.
  747.  
  748. ###############################
  749. # WEBSEAL INTERFACES
  750. ###############################
  751. [interfaces]
  752. # The values from:
  753. # [server]
  754. # network-interface
  755. # always-neg-tls
  756. # http
  757. # http-port,
  758. # web-http-port,
  759. # web-http-protocol,
  760. # https,
  761. # https-port,
  762. # worker-threads
  763. # enable-http2
  764. # http2-max-connections
  765. # http2-header-table-size
  766. # http2-max-concurrent-streams
  767. # http2-initial-window-size
  768. # http2-max-frame-size
  769. # http2-max-header-list-size
  770. # [ssl]
  771. # webseal-cert-keyfile-label
  772. # [certificate]
  773. # accept-client-certs
  774. # secondary-port
  775. # are used to create the "default" interface.
  776. #
  777. # This stanza allows additional interfaces to be configured.
  778. #
  779. # The format of each interfaces entry is:
  780. #
  781. # <interfaceName> = <interfaceOptions>
  782. # <interfacesOptions> = <Option>=<Value>[;<Option>=<Value>[;...]]
  783. #
  784. # Leading and Trailing Spaces surrounding <Option>, <Value> are ignored.
  785. # If leading or trailing spaces are required then the <Value> may be placed
  786. # in double quotes (").
  787. # If a double quote ("), semicolon (;), or backslash (\) character is required
  788. # in the <Value> then this character must be prefixed by a backslash (\).
  789. #
  790. # <Option>=<Value> can be selected from:
  791. # network-interface=<ipAddress>
  792. # always-neg-tls=yes|no
  793. # http-port=<port> | "disabled"
  794. # https-port=<port> | "disabled"
  795. # web-http-port=<port> | "disabled"
  796. # web-http-protocol="http" | "https"
  797. # certificate-label=<keyFileLabel>
  798. # accept-client-certs="never" | "required" | "optional" |
  799. # "prompt_as_needed" | "critical"
  800. # secondary-port=<port>
  801. # worker-threads=<count> | "default"
  802. # enable-http2=yes|no
  803. # http2-max-connections=<number>
  804. # http2-header-table-size=<number>
  805. # http2-max-concurrent-streams=<number>
  806. # http2-initial-window-size=<number>
  807. # http2-max-frame-size=<number>
  808. # http2-max-header-list-size=<number>
  809. #
  810. # Defaults for <interfaceOptions> if they are not present:
  811. # network-interface 0.0.0.0
  812. # always-neg-tls no
  813. # worker-threads "default"
  814. # http-port "disabled"
  815. # web-http-port "disabled"
  816. # web-http-protocol "http"
  817. # https-port "disabled"
  818. # certificate-label Uses key marked as default in key file.
  819. # accept-client-certs "never"
  820. # secondary-port 0
  821. # enable-http2 no
  822. # http2-max-connections 200
  823. # http2-header-table-size 4096
  824. # http2-max-concurrent-streams 100
  825. # http2-initial-window-size 65535
  826. # http2-max-frame-size 16384
  827. # http2-max-header-list-size max-client-read
  828. #
  829. # The following example configures an interface that only listens for http
  830. # requests on address 10.0.0.1 port 81 (the https-port defaulted to "disabled").
  831. #
  832. # interface1 = network-interface=10.0.0.1; http-port=81
  833.  
  834.  
  835. ###############################
  836. # HTTP Header Names
  837. ###############################
  838. [header-names]
  839.  
  840. #
  841. # This stanza controls the addition of HTTP headers into the request which is
  842. # passed to junctioned applications. Each entry within the stanza will be of
  843. # the format:
  844. # <header-data> = [+]<header-name>
  845. #
  846. # where:
  847. # <header-data> : the type of data which will be inserted.
  848. # <header-name> : the name of the HTTP header which will hold the data. The
  849. # header-name can be prefixed with the '+' character if you
  850. # wish to append to any existing header instead of
  851. # overwriting the existing header.
  852. #
  853. # The <header-data> may be one of the following values:
  854. #
  855. # server-name : The ISAM authorization server name for the WebSEAL server.
  856. # This is the name which is used in the "server task"
  857. # commands.
  858. # client-ip-v4 : The IPv4 address of the client of this request.
  859. # client-ip-v6 : The IPv6 address of the client of this request.
  860. # client-port : The port which is used by the client of this request.
  861. # Please note that this is the client source port, and not
  862. # the destination port.
  863. # host-name : The host name of the WebSEAL server. The host name will
  864. # be obtained from the web-host-name configuration entry
  865. # within the [server] stanza (if specified), or the host
  866. # name of the machine itself.
  867. # httphdr{<name>} : A HTTP header from the request, as specified by the <name>
  868. # field. If the HTTP header is not found in the request
  869. # the value contained within the [server]
  870. # tag-value-missing-attr-tag configuration entry will be
  871. # used as the value for the header.
  872. #
  873. # For example:
  874. # client-ip-v4 = +X-Forwarded-For
  875. # httphdr{host} = X-Forwarded-Host
  876. # host-name = X-Forwarded-Server
  877.  
  878. server-name = iv_server_name
  879.  
  880. [rsp-header-names]
  881.  
  882. #
  883. # This stanza is used to define static HTTP headers which will be added
  884. # to every HTTP response from the WebSEAL server. This will provide the
  885. # administrator with the ability to insert some standard security headers
  886. # into the response, such as strict-transport-security,
  887. # content-security-policy and x-frame-options.
  888. #
  889. # Please note that the headers which are defined in this stanza will replace
  890. # any matching headers which might have been added to the response by a
  891. # junctioned application.
  892. #
  893. # If multiple headers of the same name are specified in this stanza all
  894. # but the last of the matching entries will be ignored.
  895. #
  896. # The format of each entry in this stanza is:
  897. # <header-name> = <header-value>
  898. #
  899. # For example,
  900. # strict-transport-security = max-age=31536000; includeSubDomains
  901. #
  902. # A special <header-value> of '%SESSION_EXPIRY%' can be used to
  903. # designate a header which will contain the remaining length of time, in
  904. # seconds, before the current local session expires. This value does not
  905. # include the overall session timeout for sessions which are managed by
  906. # the distributed session cache (DSC), but just the length of time before
  907. # the session expires in the local cache.
  908. #
  909. # For example:
  910. # session-timeout = %SESSION_EXPIRY%
  911. #
  912. strict-transport-security = max-age=31536000; includeSubDomains
  913.  
  914. ###############################
  915. # LDAP
  916. ###############################
  917. [ldap]
  918. # prefer-readwrite-server - yes|no Indicates whether to select writable
  919. # LDAP server when available
  920. # auth-using-compare - yes|no Indicates whether to perform
  921. # authentication using LDAP bind or comparing password
  922. # bind-dn - Indicates the Distinguished Name of the daemon
  923. # (set by configuration)
  924. # ssl-enabled - yes|no Indicates whether SSL is enabled (set
  925. # by configuration)
  926. # ssl-keyfile - Indicates filename of SSL keyfile (set by
  927. # configuration)
  928. # ssl-keyfile-dn - Indicates the certificate label in the SSL
  929. # keyfile, if any (set by configuration)
  930. # default-policy-override-support
  931. # - yes|no When "yes", no user Policy will
  932. # be checked, only the default Policy is checked
  933. # (saves some LDAP searches)
  934. # user-and-group-in-same-suffix
  935. # - yes|no When "yes", indicates that the groups are
  936. # defined in the same LDAP suffix as the user
  937. # (saves some LDAP searches)
  938. # login-failures-persistent
  939. # - yes|no When "yes", login strikes will be tracked
  940. # in the registry instead of only in the local
  941. # process cache. Persistent login strike recording
  942. # is more expensive but allows consistent login
  943. # strike counting across multiple servers.
  944. # cache-enabled - yes|no Indicates whether to enable the local
  945. # LDAP cache
  946. #
  947. # cache-enabled related configuration settings:
  948. #
  949. # cache-user-size - (optional) The number of entries in the LDAP user
  950. # cache. Ignored if the cache is not enabled. If
  951. # not set, the default is 256.
  952. # cache-group-size - (optional) The number of entries in the LDAP group
  953. # cache. Ignored if the cache is not enabled. If
  954. # not set, the default is 64.
  955. # cache-policy-size - (optional) The number of entries in the LDAP policy
  956. # cache. Ignored if the cache is not enabled. If
  957. # not set, the default is 20.
  958. # cache-user-expire-time - (optional) The amount of time (in seconds) until a
  959. # user entry in the cache is considered stale and is
  960. # discarded. Ignored if the cache is not enabled.
  961. # If not set, the default is 30 seconds.
  962. # cache-group-expire-time - (optional) The amount of time (in seconds) until a
  963. # group entry in the cache is considered stale and is
  964. # discarded. Ignored if the cache is not enabled.
  965. # If not set, the default is 300 seconds (5 minutes).
  966. # cache-policy-expire-time
  967. # - (optional) The amount of time (in seconds) until a
  968. # policy entry in the cache is considered stale and is
  969. # discarded. Ignored if the cache is not enabled.
  970. # If not set, the default is 30 seconds.
  971. # cache-group-membership - (optional) Indicates whether group membership
  972. # information should be cached. Ignored if the cache
  973. # is not enabled. If not set, the default is yes.
  974. # cache-use-user-cache - (optional) Indicates whether to use the user cache
  975. # information or not. Ignored if the cache is not
  976. # enabled. If not set, the default is yes.
  977. # cache-return-registry-id -(optional) Indicates whether to cache the user
  978. # identity as it is stored in the registry or cache
  979. # the value as entered during authentication.
  980. # Ignored if the cache is not enabled.
  981. # If not set, the default is no.
  982. # enhanced-pwd-policy - (optional) If set to yes then additional status
  983. # information for the LDAP registries own password
  984. # policy enforcement is acquired and reported to
  985. # this TAM application during login and password
  986. # change operations.
  987. # This option must be enabled for [acnt-mgt]
  988. # enable-passwd-warn to function.
  989. # enable-last-login - (optional) Indicates whether to enable recording
  990. # of the last time each user logs in to LDAP. If
  991. # enabled then it must be enabled in all TAM
  992. # applications to ensure the value is captured in
  993. # all cases.
  994.  
  995. prefer-readwrite-server = no
  996. auth-using-compare = yes
  997. ssl-enabled = no
  998.  
  999. # The following files are currently available for this configuration entry:
  1000. # - pdsrv.kdb
  1001. # - lmi_trust_store.kdb
  1002. # - rt_profile_keys.kdb
  1003. # - embedded_ldap_keys.kdb
  1004.  
  1005. ssl-keyfile =
  1006. ssl-keyfile-dn =
  1007. #default-policy-override-support = no
  1008. #user-and-group-in-same-suffix = yes
  1009. #login-failures-persistent = no
  1010.  
  1011. cache-enabled = yes
  1012.  
  1013. #cache-user-size = 256
  1014. #cache-group-size = 64
  1015. #cache-policy-size = 20
  1016. #cache-user-expire-time = 30
  1017. #cache-group-expire-time = 300
  1018. #cache-policy-expire-time = 30
  1019. #cache-group-membership = yes
  1020. #cache-use-user-cache = yes
  1021. cache-return-registry-id = no
  1022.  
  1023. enhanced-pwd-policy = no
  1024. enable-last-login = no
  1025.  
  1026. # The following configuration item is contained within the obfuscated
  1027. # database and as such is obfuscated within this file. If the value is
  1028. # modified within this configuration file the corresponding change will
  1029. # be applied to the obfuscated database.
  1030.  
  1031. bind-pwd = **obfuscated**
  1032.  
  1033. ###############################
  1034. # SSL
  1035. ###############################
  1036. [ssl]
  1037.  
  1038. # This section contains entries that affect the behavior of the SSL
  1039. # components of WebSEAL. These will affect both clients connecting
  1040. # via SSL as well as SSL junctions to backend systems.
  1041. # The first five parameters (webseal-cert-*) relate to the certificate
  1042. # keystore WebSEAL uses for exchanging with browsers when negotiating
  1043. # SSL sessions.
  1044. # WebSEAL certificate keyfile
  1045.  
  1046. # The following files are currently available for this configuration entry:
  1047. # - pdsrv.kdb
  1048. # - lmi_trust_store.kdb
  1049. # - rt_profile_keys.kdb
  1050. # - embedded_ldap_keys.kdb
  1051.  
  1052. webseal-cert-keyfile = pdsrv.kdb
  1053.  
  1054. # The stash file which contains the password user to protect the private
  1055. # keys in the keyfile.
  1056.  
  1057. # The following files are currently available for this configuration entry:
  1058. # - rt_profile_keys.sth
  1059. # - lmi_trust_store.sth
  1060. # - embedded_ldap_keys.sth
  1061. # - pdsrv.sth
  1062.  
  1063. webseal-cert-keyfile-stash = pdsrv.sth
  1064.  
  1065. # Label of key to use other than the default
  1066. webseal-cert-keyfile-label = WebSEAL-Test-Only
  1067.  
  1068. # Server Name Indication SNI (optional)
  1069. # If a user connects to webseal via TLS over SSL, and the browser supports
  1070. # SNI, WebSEAL is capable of sending a server certificate which matches the
  1071. # host name used by the browser in the request. The webseal-cert-keyfile-sni
  1072. # configuration entry is used to specify the certificate which should be sent
  1073. # for a particular host name.
  1074. #
  1075. # The configuration entry may be specified multiple times, one for each
  1076. # host name. The entry should be of the format:
  1077. # webseal-cert-keyfile-sni = <host name>:<label>
  1078. #
  1079. # where:
  1080. # host name : Is the name of the host which will be used by the browser
  1081. # label : Is the label of the certificate which will be used.
  1082. #
  1083. webseal-cert-keyfile-sni =
  1084.  
  1085. # Selectively disable SSL version support for browser connections
  1086. disable-ssl-v2 = yes
  1087. disable-ssl-v3 = yes
  1088. disable-tls-v1 = no
  1089. disable-tls-v11 = no
  1090. disable-tls-v12 = no
  1091.  
  1092. # Session timeout for SSL v2 connections (range: 1-100 secs)
  1093. ssl-v2-timeout = 100
  1094.  
  1095. # Session timeout for SSL v3 connections (range: 1-86400 secs)
  1096. ssl-v3-timeout = 7200
  1097.  
  1098. # The maximum number of concurrent entries in the SSL cache
  1099. ssl-max-entries = 4096
  1100.  
  1101. # CRL Cache configuration.
  1102. # When gsk-crl-cache-size and gsk-crl-cache-entry-lifetime are
  1103. # both set to zero (which they are by default), CRL Caching will
  1104. # be disabled.
  1105.  
  1106. # The maximum number of entries in the GSKit CRL cache
  1107. # (must be > 0 to initialize CRL Caching)
  1108. gsk-crl-cache-size = 0
  1109.  
  1110. # Lifetime timeout for individual entries in the GSKit CRL cache
  1111. # (range: 0-86400 secs)
  1112. gsk-crl-cache-entry-lifetime = 0
  1113.  
  1114. # The following block of entries enables the configuration of an LDAP
  1115. # server to be referenced for CRL checking during SSL authentication.
  1116. # A null value for crl-ldap-user indicates that the SSL authenticator
  1117. # should bind to the LDAP server anonymously.
  1118.  
  1119. # The CRL LDAP server which is to be used for CRL checking.
  1120. crl-ldap-server =
  1121.  
  1122. # The port on which the CRL LDAP server is listening.
  1123. crl-ldap-server-port =
  1124.  
  1125. # The DN of the LDAP user which is to be used.
  1126. crl-ldap-user =
  1127.  
  1128. # The password of the LDAP user.
  1129. crl-ldap-user-password =
  1130.  
  1131. # The following entry allows a pkcs11 key file to be specified. This key file
  1132. # will contain the configuration information used to identify and access a
  1133. # Network Hardware Security Module (NetHSM).
  1134.  
  1135. # The following files are currently available for this configuration entry:
  1136. # - <none available>
  1137.  
  1138. pkcs11-keyfile =
  1139.  
  1140. # To enable PKCS#11 for symmetric algorithms, set
  1141. # pkcs11-symmetric-cipher-support to 'yes'.
  1142. # NOTE:
  1143. # The PCKS#11 symmetric cipher support does not
  1144. # include removable devices. If a removable device is encountered
  1145. # it will be ignored even if the support has been requested.
  1146. # Additionally, not all devices will support symmetric ciphers
  1147. # please check your vendor documentation before usage.
  1148. #
  1149. pkcs11-symmetric-cipher-support = no
  1150.  
  1151. # Configure FIPS mode processing. GSKit will not allow it to be
  1152. # enabled (set to yes) if base-crypto-library = RSA.
  1153. fips-mode-processing = no
  1154.  
  1155. # Configure NIST SP800-131A compliance mode. This will have the affect of:
  1156. # - enabling FIPS mode processing (over-riding the value of the
  1157. # fips-mode-processing configuration entry);
  1158. # - enabling TLS V1.2 (over-riding the value of the disable-tls-v12
  1159. # configuration entry);
  1160. # - enabling the appropriate signature algorithms;
  1161. # - setting the minimum RSA key size to 2048 bytes.
  1162. nist-compliance = no
  1163.  
  1164. # The follow two options are used enable OCSP. Either or both can be used.
  1165. #ocsp-enable = no
  1166. #ocsp-url = <Absolute URL for OCSP responder>
  1167.  
  1168. # The following are OCSP options for interacting with the OCSP Responder.
  1169. #ocsp-nonce-generation-enable = no
  1170. #ocsp-nonce-check-enable = no
  1171. #ocsp-retrieve-via-get = no
  1172. #ocsp-max-response-size = 20480
  1173. #ocsp-proxy-server-name = <proxy host name>
  1174. #ocsp-proxy-server-port = <proxy port number>
  1175.  
  1176. # If, after OCSP or CRL checking, the revocation status of a browser supplied
  1177. # certificate is undetermined, WebSEAL can be configured to ignore this, log
  1178. # the fact, or log the fact and reject the connection by setting
  1179. # undetermined-revocation-cert-action to "ignore", "log" or "reject"
  1180. # respectively.
  1181. undetermined-revocation-cert-action = log
  1182.  
  1183. # The following configuration item is used to control whether SSL errors
  1184. # originating from a connection with a client are logged.
  1185. suppress-client-ssl-errors = false
  1186.  
  1187. #
  1188. # Specify any additional GSKit attributes which should be used when
  1189. # initializing an SSL connection with the client. A complete list of
  1190. # the available attributes is included in the GSKit SSL API documentation.
  1191. #
  1192. # The configuration entry may be specified multiple times, one for each
  1193. # GSKit attribute. The entry should be of the format:
  1194. # gsk-attr-name = <type>:<id>:<value>
  1195. #
  1196. # - where <type> is one of 'enum', 'string', 'number'
  1197. # and <id> corresponds to the identity associated with a GSKit attribute
  1198. # (e.g. GSK_HTTP_PROXY_SERVER_NAME = 225)
  1199. #
  1200. # An example configuration could be:
  1201. # gsk-attr-name = string:225:proxy.ibm.com
  1202. #
  1203.  
  1204. #
  1205. # Specify any additional GSKit attributes which should be used when
  1206. # initializing an SSL connection with a junctioned server. A complete list of
  1207. # the available attributes is included in the GSKit SSL API documentation.
  1208. #
  1209. # The configuration entry may be specified multiple times, one for each
  1210. # GSKit attribute. The entry should be of the format:
  1211. # jct-gsk-attr-name = <type>:<id>:<value>
  1212. #
  1213. # - where <type> is one of 'enum', 'string', 'number'
  1214. # and <id> corresponds to the identity associated with a GSKit attribute
  1215. # (e.g. GSK_HTTP_PROXY_SERVER_NAME = 225)
  1216. #
  1217. # This configuration item may be customized for a particular junction by
  1218. # adding the adjusted configuration item to a [ssl:{jct_id}] stanza, where
  1219. # '{jct-id}' refers to the junction point for a standard junction (include the
  1220. # leading '/'), or the virtual host label for a virtual host junction.
  1221. #
  1222. # An example configuration could be:
  1223. # jct-gsk-attr-name = string:225:proxy.ibm.com
  1224. #
  1225.  
  1226. # Control whether duplicate SSL warning messages are sent to the WebSEAL
  1227. # log file. If this option is set to yes, then if a junction is defined
  1228. # with -K and not -D, a warning will be reported every time a connection is
  1229. # opened to that junction. This fills up logs, so administrators may want to
  1230. # set it to no. If it is set to no, then a single warning will be reported
  1231. # at server start.
  1232. enable-duplicate-ssl-dn-not-found-msgs = yes
  1233. ssl-auto-refresh = yes
  1234. ssl-listening-port = 7235
  1235. ssl-pwd-life = 183
  1236. ssl-authn-type = certificate
  1237.  
  1238. # We only want to listen on our management interfaces.
  1239. listen-interface = 192.168.42.191
  1240.  
  1241. ###############################
  1242. # JUNCTION
  1243. ###############################
  1244. [junction]
  1245.  
  1246. # Location of the Junction to Request Mapping Table (JMT)
  1247. # This path is relative to the server-root value in the [server] stanza
  1248.  
  1249. # The following files are currently available for this configuration entry:
  1250. # - jmt.conf
  1251.  
  1252. jmt-map = jmt.conf
  1253.  
  1254. # Timeout (in seconds) for sending to and reading from a TCP junction.
  1255. # Must be an integer greater than or equal to zero.
  1256. # A value of zero will cause WebSEAL to wait indefinitely. This configuration
  1257. # item may be customized for a particular junction by adding the adjusted
  1258. # configuration item to a [junction:{jct_id}] stanza, where '{jct-id}' refers
  1259. # to the junction point for a standard junction (include the leading '/'), or
  1260. # the virtual host label for a virtual host junction.
  1261. http-timeout = 120
  1262.  
  1263. # Timeout (in seconds) for sending to and reading from an SSL junction.
  1264. # Must be an integer greater than or equal to zero.
  1265. # A value of zero will cause WebSEAL to wait indefinitely. This configuration
  1266. # item may be customized for a particular junction by adding the adjusted
  1267. # configuration item to a [junction:{jct_id}] stanza, where '{jct-id}' refers
  1268. # to the junction point for a standard junction (include the leading '/'), or
  1269. # the virtual host label for a virtual host junction.
  1270. https-timeout = 120
  1271.  
  1272. # The WebSEAL server performs a periodic background 'ping' of each junctioned
  1273. # Web server, to determine whether it is running. This entry sets the interval,
  1274. # in seconds, between pings when the server is determined to be running.
  1275. # To turn this ping off, set this entry to zero. If this entry is set to zero,
  1276. # the recovery-ping-time must be set.
  1277. ping-time = 300
  1278.  
  1279. # The WebSEAL server performs a periodic background 'ping' of each junctioned
  1280. # Web server, to determine whether it is running. This entry sets the interval,
  1281. # in seconds, between pings when the server is determined to be not running.
  1282. # If this entry is not set, the recovery-ping-time defaults to the ping-time.
  1283. #recovery-ping-time = 300
  1284.  
  1285. # The WebSEAL server performs a periodic background 'ping' of each junctioned
  1286. # Web server, to determine whether it is running. The optional
  1287. # ping-method entry sets the HTTP request type used in these pings. A valid
  1288. # ping-method is defined by the HTTP/1.1 protocol. If the ping-method is
  1289. # invalid or missing, this value defaults to HEAD.
  1290. #
  1291. # This configuration item may be customized for a particular junction by adding
  1292. # the adjusted configuration item to a [junction:{jct_id}] stanza, where
  1293. # '{jct-id}' refers to the junction point for a standard junction (include the
  1294. # leading '/'), or the virtual host label for a virtual host junction.
  1295. ping-method = HEAD
  1296.  
  1297. # The WebSEAL server performs a periodic background 'ping' of each junctioned
  1298. # Web server, to determine whether it is running. The optional ping-uri
  1299. # configuration entry defines the URI which will be accessed by the ping
  1300. # request. The defined URI should be relative to the root Web space of the
  1301. # junctioned Web server. If the URI is missing this value defaults to a value
  1302. # of '/'.
  1303. #
  1304. # This configuration item may be customized for a particular junction by adding
  1305. # the adjusted configuration item to a [junction:{jct_id}] stanza, where
  1306. # '{jct-id}' refers to the junction point for a standard junction (include the
  1307. # leading '/'), or the virtual host label for a virtual host junction.
  1308. ping-uri = /
  1309.  
  1310. # The WebSEAL server performs a periodic background 'ping' of each junctioned
  1311. # Web server, to determine whether the junctioned Web server is running. The optional
  1312. # ping-response-code-rules configuration entry defines the rules which are used to
  1313. # determine whether the HTTP status code of the responses indicate a healthy or
  1314. # an unhealthy junctioned Web server.
  1315. #
  1316. # If valid values are configured for both ping-response-code-rules and
  1317. # response-code-rules, the specified ping-response-code-rules will be applied
  1318. # to the 'ping' requests initiated by WebSEAL,
  1319. # and other requests will be matched against response-code-rules to
  1320. # determine the server state.
  1321. #
  1322. # If a valid ping-response-code-rules value is configured but
  1323. # response-code-rules is not, the specified ping-response-code-rules will be applied
  1324. # to the 'ping' requests initiated by WebSEAL,
  1325. # and other requests will not be used to determine the server state. In this case,
  1326. # ping-response-code-rules are the only rules used to determine the server state.
  1327. #
  1328. # If the ping-response-code-rules configuration entry is not set, the rules that
  1329. # are specified by the response-code-rules configuration entry will also apply
  1330. # to ping requests.
  1331. #
  1332. # The configuration entry contains a space separated list of rules. Each rule
  1333. # has the format:
  1334. # [+|-]<code> (e.g. -50?)
  1335. # where:
  1336. # +: indicates that this is a healthy response code
  1337. # -: indicates that this is an unhealthy response code
  1338. # <code>: the corresponding response code, which can also contain pattern
  1339. # matching characters (i.e. * ?)
  1340. #
  1341. # The HTTP response codes will be evaluated against each rule in sequence until
  1342. # a match is found. The corresponding code (+|-) will then be used to determine
  1343. # whether the junctioned Web server is healthy or not. If the response code
  1344. # matches no configured rules the junctioned Web server will be considered to be
  1345. # healthy.
  1346. #
  1347. # This configuration item may be customized for a particular junction by adding
  1348. # the adjusted configuration item to a [junction:{jct_id}] stanza, where
  1349. # '{jct-id}' refers to the junction point for a standard junction (include the
  1350. # leading '/'), or the virtual host label for a virtual host junction.
  1351. # ping-response-code-rules = +2?? -*
  1352. ping-response-code-rules =
  1353.  
  1354. # When a response of a client initiated request is returned from the junctioned server,
  1355. # the optional response-code-rules configuration entry defines the rules
  1356. # which are used to determine from the HTTP status code of the responses
  1357. # whether the junctioned Web server is in a healthy or an unhealthy state.
  1358. #
  1359. # This configuration entry will apply to all requests if the ping-response-code-rules
  1360. # configuration entry has not been set, otherwise it will only apply to all client
  1361. # initiated requests.
  1362. #
  1363. # The configuration entry contains a space separated list of rules. Each rule
  1364. # has the format:
  1365. # [+|-]<code> (e.g. -50?)
  1366. # where:
  1367. # +: indicates that this is a healthy response code
  1368. # -: indicates that this is an unhealthy response code
  1369. # <code>: the corresponding response code, which can also contain pattern
  1370. # matching characters (i.e. * ?)
  1371. #
  1372. # The HTTP response codes will be evaluated against each rule in sequence until
  1373. # a match is found. The corresponding code (+|-) will then be used to determine
  1374. # whether the junctioned Web server is healthy or not. If the response code
  1375. # matches no configured rules the junctioned Web server will be considered to be
  1376. # healthy.
  1377. #
  1378. # This configuration item may be customized for a particular junction by adding
  1379. # the adjusted configuration item to a [junction:{jct_id}] stanza, where
  1380. # '{jct-id}' refers to the junction point for a standard junction (include the
  1381. # leading '/'), or the virtual host label for a virtual host junction.
  1382. # response-code-rules = +2?? -*
  1383. response-code-rules =
  1384.  
  1385. # These values will limit the percentage of total worker threads processing
  1386. # requests for junctions. The default of 100% means there is no
  1387. # limit. When the "soft" limit is reached, WebSEAL will generate a warning
  1388. # message. When the "hard" limit is reached, WebSEAL will generate an error
  1389. # message and return a 503, "Service Unavailable", result to the client browser
  1390. # instead of requesting the resource from the junction.
  1391. # This value can be overridden on a per junction basis using pdadmin.
  1392. worker-thread-hard-limit = 100
  1393. worker-thread-soft-limit = 90
  1394.  
  1395. # Buffer size for reading from and writing to a junction.
  1396. io-buffer-size = 16384
  1397.  
  1398. # Maximum size, in bytes, of WebSEAL generated HTTP Headers.
  1399. # Headers over this size will be split across multiple
  1400. # HTTP Headers. A value of "0" disables this support.
  1401. max-webseal-header-size = 0
  1402.  
  1403. #----------------------
  1404. # SENDING DOMAIN COOKIES
  1405. #----------------------
  1406.  
  1407. # If validate-backend-domain-cookies is set to "no", then all Domain set-cookies
  1408. # will be forwarded to the user, regardless of their content.
  1409. #
  1410. # If set to "yes" then Domain set-cookies will be evaluated to ensure that
  1411. # they adhere to the cookie specification. Set-cookies with Domains that do not
  1412. # properly match the domain of the origin server will be removed from the
  1413. # request. Set-cookies that pass the validation will be forwarded to the client.
  1414. #
  1415. # Occasionally applications will send set-cookies with a Domain parameter
  1416. # that contains the FQHN of the origin server. To ensure proper routing,
  1417. # WebSEAL will remove the Domain from these set-cookies before forwarding
  1418. # to the client.
  1419. #
  1420. # This configuration item may be customized for a particular junction
  1421. # by adding the adjusted configuration item to a [junction:{jct_id}] stanza,
  1422. # where '{jct-id}' refers to the junction point for a standard junction
  1423. # (include the leading '/'), or the virtual host label for a virtual host
  1424. # junction.
  1425. validate-backend-domain-cookies = yes
  1426.  
  1427. # If allow-backend-domain-cookies is set to 'no', and
  1428. # validate-backend-domain-cookies = 'yes', then WebSEAL will remove
  1429. # the Domain from the set-cookie before forwarding.
  1430. #
  1431. # If allow-backend-domain-cookies = yes, then the Domain will not be removed.
  1432. # In addition, this will affect how WebSEAL filters the Path of set-cookies.
  1433. # Under certain circumstances, WebSEAL must modify the Path of set-cookies
  1434. # sent from junctioned origin servers to include the junction point to ensure
  1435. # that the user-agent will properly send the cookie with requests.
  1436. # WebSEAL will not do this for Domain set-cookies, because this might preclude
  1437. # those cookies from being sent to other systems in the domain, so if
  1438. # allow-backend-domain-cookies is set to 'yes', this Path modification will
  1439. # not take place for Domain set-cookies.
  1440. #
  1441. # This configuration item may be customized for a particular junction
  1442. # by adding the adjusted configuration item to a [junction:{jct_id}] stanza,
  1443. # where '{jct-id}' refers to the junction point for a standard junction
  1444. # (include the leading '/'), or the virtual host label for a virtual host
  1445. # junction.
  1446. allow-backend-domain-cookies = no
  1447.  
  1448. # If validate-backend-domain-cookies is set to "yes", then
  1449. # support-virtual-host-domain-cookies will modify how WebSEAL validates
  1450. # the Domain of set-cookies. This option will have no effect if
  1451. # validate-backend-domain-cookies = no
  1452. #
  1453. # If support-virtual-host-domain-cookies is set to "yes" then the domain cookie
  1454. # will be validated by comparing it with the virtual host specified for a
  1455. # backend server with the -v junction option.
  1456. #
  1457. # If set to "no", or if no virtual host was specified for a junction, then
  1458. # the FQHN will be compared with the Domain value of a set-cookie for
  1459. # validation.
  1460. #
  1461. # This configuration item may be customized for a particular junction
  1462. # by adding the adjusted configuration item to a [junction:{jct_id}] stanza,
  1463. # where '{jct-id}' refers to the junction point for a standard junction
  1464. # (include the leading '/'), or the virtual host label for a virtual host
  1465. # junction.
  1466. support-virtual-host-domain-cookies = yes
  1467.  
  1468. # The following block of entries enables the configuration of an LDAP
  1469. # server to be referenced for CRL checking during SSL authentication.
  1470. # A null value for crl-ldap-user indicates that the SSL authenticator
  1471. # should bind to the LDAP server anonymously.
  1472. #crl-ldap-server = <server_name>
  1473. #crl-ldap-server-port = <port>
  1474. #crl-ldap-user = <user_DN>
  1475. #crl-ldap-user-password = <user_password>
  1476.  
  1477. # The follow two options are used enable OCSP for checking the revocation
  1478. # status of junction server supplied certificates. Either or both can be used.
  1479. #jct-ocsp-enable = no
  1480. #jct-ocsp-url = <Absolute URL for OCSP responder>
  1481.  
  1482. # The following are OCSP options for interacting with the OCSP Responder.
  1483. #jct-ocsp-nonce-generation-enable = no
  1484. #jct-ocsp-nonce-check-enable = no
  1485. #jct-ocsp-max-response-size = 20480
  1486. #jct-ocsp-proxy-server-name = <proxy host name>
  1487. #jct-ocsp-proxy-server-port = <proxy port number>
  1488.  
  1489. # If, after OCSP checking, the revocation status of a junction server supplied
  1490. # certificate is undetermined, WebSEAL can be configured to ignore this, log
  1491. # the fact, or log the fact and reject the connection by setting
  1492. # jct-undetermined-revocation-cert-action to "ignore", "log" or "reject"
  1493. # respectively.
  1494. jct-undetermined-revocation-cert-action = log
  1495.  
  1496. # Selectively disable SSL version support for junction connections
  1497. disable-ssl-v2 = yes
  1498. disable-ssl-v3 = yes
  1499. disable-tls-v1 = no
  1500. disable-tls-v11 = no
  1501. disable-tls-v12 = no
  1502.  
  1503. # Configure NIST SP800-131A compliance mode. This will have the affect of:
  1504. # - enabling FIPS mode processing (over-riding the value of the
  1505. # fips-mode-processing configuration entry);
  1506. # - enabling TLS V1.2 (over-riding the disable-tls-v12 configuration entry);
  1507. # - enabling the appropriate signature algorithms;
  1508. # - setting the minimum RSA key size to 2048 bytes.
  1509. jct-nist-compliance = no
  1510.  
  1511. # The next configuration options allow a separate keyfile to be used
  1512. # for Junction SSL operations rather than sharing the one specified in
  1513. # the [ssl] stanza.
  1514. # The keyfile database which is to be used for Junction SSL operations.
  1515.  
  1516. # The following files are currently available for this configuration entry:
  1517. # - pdsrv.kdb
  1518. # - lmi_trust_store.kdb
  1519. # - rt_profile_keys.kdb
  1520. # - embedded_ldap_keys.kdb
  1521.  
  1522. jct-cert-keyfile =
  1523.  
  1524. # The name of the file to which the password for the SSL Junction key file is
  1525. # stashed.
  1526.  
  1527. # The following files are currently available for this configuration entry:
  1528. # - rt_profile_keys.sth
  1529. # - lmi_trust_store.sth
  1530. # - embedded_ldap_keys.sth
  1531. # - pdsrv.sth
  1532.  
  1533. jct-cert-keyfile-stash =
  1534.  
  1535. # When jct-ssl-reneg-warning-rate is set to a value greater than zero, WebSEAL
  1536. # will output a warning message if the SSL session renegotiation rate between
  1537. # junction servers and WebSEAL reaches this level or greater. The value is
  1538. # specified as the number of renegotiations per minute.
  1539. jct-ssl-reneg-warning-rate = 0
  1540.  
  1541. # When use-new-stateful-on-error is set to yes WebSEAL will choose a new
  1542. # stateful junction server for a user if the current one fails. When it is
  1543. # set to no, WebSEAL will not choose a new stateful junction server for a
  1544. # user, instead it returns an error and future requests by the user will keep
  1545. # attempting to use this same stateful junction server (until the user
  1546. # restarts their browser or the junction server is deleted).
  1547. #
  1548. # This configuration item may be customized for a particular junction by adding
  1549. # the adjusted configuration item to a [junction:{jct-id}] stanza, where
  1550. # '{jct-id}' refers to the junction point for a standard junction (including
  1551. # the leading '/'), or the virtual host label for a virtual host junction.
  1552. use-new-stateful-on-error = no
  1553.  
  1554. # When dont-reprocess-jct-404s = yes, WebSEAL will return 404 responses
  1555. # from junctions directly to clients. When set to no, WebSEAL will
  1556. # assume the 404 is due to an unfiltered server relative link and
  1557. # will try to fix the problem by prepending a junction point to the URL
  1558. # in the request and sending the request again. Setting this value to
  1559. # "no" provides backwards compatibility with TAM 5.1.
  1560. dont-reprocess-jct-404s = yes
  1561.  
  1562. # The following configuration item can be set to yes to avoid multiple
  1563. # attempts to prepend a junction point to the beginning of the URL string
  1564. # when reprocessing requests as a result of a HTTP 404 status code.
  1565. # To cause requests for root junction resources, that result in an HTTP 404
  1566. # error, to be reprocessed, set this configuration entry to 'yes'.
  1567. reprocess-root-jct-404s = no
  1568.  
  1569. # When pass-http-only-cookie-attr is set to 'yes' it will allow WebSEAL to pass
  1570. # the HttpOnly attribute from Junction Set-Cookie headers through to clients.
  1571. # When set to 'no' the HttpOnly attribute will be discarded.
  1572. pass-http-only-cookie-attr = yes
  1573.  
  1574. # Compatibility option to also mangle junction names into domain set cookies.
  1575. # When several junctioned servers set domain cookies with the same name and
  1576. # same path, the browser will overwrite the values to the last one set. This
  1577. # is the expected behavior for domain cookies, but before WebSEAL 5.1, it was
  1578. # possible to use WebSEAL cookie mangling to prevent it. When set to "yes"
  1579. # the pre-5.1 behavior is enabled.
  1580. mangle-domain-cookies = no
  1581.  
  1582. # Option to use the client's current IP address, rather than one cached in
  1583. # the credentials at authentication time, for the value passed in a header
  1584. # to junctions created with the -r option.
  1585. insert-client-real-ip-for-option-r = no
  1586.  
  1587. # The maximum number of persistent connections which will be stored in the
  1588. # cache for future use. Connections with junctioned Web servers will be
  1589. # cached for future use unless the configured limit is reached, or the
  1590. # 'connection: close' header is received in the HTTP response. Please note
  1591. # that if enabled there is the potential for different user sessions to use
  1592. # the same connection when processing requests. To disable the persistent
  1593. # connection functionality simply specify a max-cached-persistent-connections
  1594. # value of 0.
  1595. #
  1596. # This configuration item may be customized for a particular junction by adding
  1597. # the adjusted configuration item to a [junction:{jct-id}] stanza, where
  1598. # {jct-id} refers to the junction point for a standard junction (including
  1599. # the leading '/'), or the virtual host label for a virtual host junction.
  1600. max-cached-persistent-connections = 0
  1601.  
  1602. # The maximum number of seconds a persistent connection can remain idle in our
  1603. # cache before the connection is cleaned up and closed by WebSEAL. This value
  1604. # should be lower than the configured maximum connection lifetime for the
  1605. # junctioned Web server. This behaviour is controlled for the Apache Web
  1606. # server, as an example only, by the KeepAliveTimeout configuration entry.
  1607. #
  1608. # This configuration item may be customized for a particular junction by adding
  1609. # the adjusted configuration item to a [junction:{jct-id}] stanza, where
  1610. # {jct-id} refers to the junction point for a standard junction (including
  1611. # the leading '/'), or the virtual host label for a virtual host junction.
  1612. persistent-con-timeout = 5
  1613.  
  1614. # The managed-cookies-list contains patterns that will be matched
  1615. # against the names of cookies returned by junctioned servers to determine
  1616. # whether the cookie should be stored in the WebSEAL cookie jar.
  1617. # Items in the managed-cookies-list should be comma separated and there should
  1618. # be no white space separating cookie names. The WebSEAL cookie jar is turned
  1619. # off by not specifying any cookies in the managed-cookies-list.
  1620. #
  1621. # This configuration item may be customized for a particular junction
  1622. # by adding the adjusted configuration item to a [junction:{jct_id}] stanza,
  1623. # where '{jct-id}' refers to the junction point for a standard junction
  1624. # (include the leading '/'), or the virtual host label for a virtual host
  1625. # junction.
  1626. #managed-cookies-list = JSESS*,Ltpa*
  1627.  
  1628. # The share-cookies item is used to control sending of cookies contained in the
  1629. # WebSEAL cookie jar between different junctions. If share-cookies = true, all
  1630. # cookies in the WebSEAL cookie jar which match the request will be sent across
  1631. # the junction. If share-cookies = false only cookies received from the junction
  1632. # will be sent in requests to that junction.
  1633. share-cookies = false
  1634.  
  1635. # The reset-cookies-list contains patterns that will be matched
  1636. # against the names of cookies returned by junctioned servers, or provided
  1637. # by the client, to determine whether the cookie should be reset during a
  1638. # user session logout. Items in the managed-cookies-list should be comma
  1639. # separated without any white space.
  1640. #
  1641. # This configuration item may be customized for a particular junction
  1642. # by adding the adjusted configuration item to a [junction:{jct_id}] stanza,
  1643. # where '{jct-id}' refers to the junction point for a standard junction
  1644. # (include the leading '/'), or the virtual host label for a virtual host
  1645. # junction.
  1646. # reset-cookies-list = JSESS*,Ltpa*
  1647.  
  1648. # If dynamic-addresses is set to "no" the junction server host name will
  1649. # be resolved to it's corresponding IP address and this address will then
  1650. # be used for subsequent communication with the junction server.
  1651. #
  1652. # If set to "yes" the junction server host name will be resolved to it's
  1653. # corresponding IP address immediately before any communication with the
  1654. # junction server.
  1655. #
  1656. # This configuration item may be customized for a particular junction
  1657. # by adding the adjusted configuration item to a [junction:{jct_id}] stanza,
  1658. # where '{jct-id}' refers to the junction point for a standard junction
  1659. # (include the leading '/'), or the virtual host label for a virtual host
  1660. # junction.
  1661. dynamic-addresses = no
  1662.  
  1663. # If the dynamic-addresses configuration entry has been set to yes this
  1664. # configuration entry will specify the length of time (in seconds) that
  1665. # a resolved IP address can be used before it is discarded and another
  1666. # name resolution is attempted (time-to-live).
  1667. #
  1668. # This configuration item may be customized for a particular junction
  1669. # by adding the adjusted configuration item to a [junction:{jct_id}] stanza,
  1670. # where '{jct-id}' refers to the junction point for a standard junction
  1671. # (include the leading '/'), or the virtual host label for a virtual host
  1672. # junction.
  1673. dynamic-addresses-ttl = 0
  1674.  
  1675. #
  1676. # WebSEAL can be used to serve pages from a local web server via local
  1677. # junctions. If local junctions are not used, the functionality can be
  1678. # disabled with this configuration item.
  1679. #
  1680. disable-local-junctions = no
  1681.  
  1682. #
  1683. # Two separate junction tables are managed by WebSEAL, one for virtual host
  1684. # junctions, and the other for standard junctions. When a request is
  1685. # received the VHJ table is searched first, and if no match is found the
  1686. # table which manages the standard junctions is then searched. The following
  1687. # configuration item is used to reverse the search order so that the table
  1688. # which manages the standard junctions is searched before the VHJ table.
  1689. #
  1690. match-vhj-first = yes
  1691.  
  1692. # The following configuration entry is used to control whether the learning
  1693. # capability is enabled for GSO junctions or not. If learning is enabled,
  1694. # and existing credential information is not available for the user, the
  1695. # BA prompt will be returned to the user. The credential information
  1696. # for the user will then be stored for future use on a subsequent
  1697. # successful authentication. An authentication is deemed to be
  1698. # successful if the junctioned Web server does not return a
  1699. # 4xx or 5xx response.
  1700. gso-credential-learning = no
  1701.  
  1702. # The following configuration entry is used to define the key which is used
  1703. # to obfsucate the credential information which is managed by the GSO Web
  1704. # service. If no key is defined the credential information will not be
  1705. # obfuscated by WebSEAL.
  1706. # gso-obfuscation-key =
  1707.  
  1708. #----------------------
  1709. # KERBEROS SSO JUNCTIONS
  1710. #----------------------
  1711.  
  1712. # This configuration entry controls whether Kerberos single-sign-on
  1713. # authentication is enabled on junctions.
  1714. # This configuration item may be customized for a particular junction by adding
  1715. # the adjusted configuration item to a [junction:{jct_id}] stanza, where
  1716. # '{jct-id}' refers to the junction point for a standard junction (include the
  1717. # leading '/'), or the virtual host label for a virtual host junction.
  1718. kerberos-sso-enable = false
  1719.  
  1720. # The name of the Kerberos key table file for the WebSEAL server. This stanza
  1721. # entry is required when Kerberos SSO authentication for junctions is enabled.
  1722. # The keytab file must contain the key for the service-principal-name (SPN)
  1723. # used for Kerberos authentication.
  1724.  
  1725. # The following files are currently available for this configuration entry:
  1726. # - <none available>
  1727.  
  1728. kerberos-keytab-file =
  1729.  
  1730. # The Kerberos SPN, used as the impersonating user when creating the token. The
  1731. # service principal name can be determined by executing the Microsoft utility
  1732. # setspn (that is, setspn -L user, where user is the identity of the WebSEAL
  1733. # account).
  1734. #
  1735. # Format is:
  1736. # kerberos-principal-name = HTTP/<username>@<realm>
  1737. #
  1738. # This stanza entry is required when Kerberos SSO authentication for junctions
  1739. # is enabled.
  1740. kerberos-principal-name = <principal-name>
  1741.  
  1742. # The Kerberos SPN for the back-end Web server. The service principal name can
  1743. # be determined by executing the Microsoft utility setspn (that is, setspn -L
  1744. # user, where user is the identity of the back-end Web server's account).
  1745. # This configuration item may be customized for a particular junction by adding
  1746. # the adjusted configuration item to a [junction:{jct_id}] stanza, where
  1747. # '{jct-id}' refers to the junction point for a standard junction (include the
  1748. # leading '/'), or the virtual host label for a virtual host junction.
  1749. #
  1750. # Format is:
  1751. # kerberos-service-name = HTTP/<username>@<realm>
  1752. #
  1753. # This stanza entry is required when Kerberos SSO authentication for junctions
  1754. # is enabled.
  1755. kerberos-service-name = <principal-name>
  1756.  
  1757. # This boolean value is used to indicate whether a security token should be
  1758. # sent for every HTTP request, or whether WebSEAL should wait for a 401
  1759. # response from the back-end Web server before adding the security token. This
  1760. # configuration item is used to avoid the unnecessary overhead of generating
  1761. # and adding a security token to every request if the back-end Web server is
  1762. # capable of maintaining user sessions.
  1763. # This configuration item may be customized for a particular junction by adding
  1764. # the adjusted configuration item to a [junction:{jct_id}] stanza, where
  1765. # '{jct-id}' refers to the junction point for a standard junction (include the
  1766. # leading '/'), or the virtual host label for a virtual host junction.
  1767. # This stanza entry is required when Kerberos SSO authentication for junctions
  1768. # is enabled.
  1769. always-send-kerberos-tokens = false
  1770.  
  1771. # This entry overwrites the UPN (or sections of the UPN) for Kerberos SSO users.
  1772. # The replacement information can be direct text or names of credential
  1773. # attributes.
  1774. # <text>: directly copied into the UPN sections
  1775. # attr:<name>: fetches the replacement text from the "name" credential
  1776. # attribute
  1777. #
  1778. # The domain information can also be extracted from the dc elements of the
  1779. # user's dn via the attribute "attr:dn".
  1780. # If no user name is defined, the client credential name is used.
  1781. # If no domain is defined, the WebSEAL service account domain is used.
  1782. # Defining a domain without a user name must be prepended with '@'. The domain
  1783. # is case sensitive and must be upper case. The domain must be added as a realm
  1784. # to the Kerberos Configuration.
  1785. #
  1786. # Format is:
  1787. # kerberos-user-identity = <username>@<realm>
  1788. # kerberos-user-identity = <username>
  1789. # kerberos-user-identity = @<realm>
  1790. # kerberos-user-identity = <upn>
  1791. #
  1792. # This configuration item may be customized for a particular junction by adding
  1793. # the adjusted configuration item to a [junction:{jct_id}] stanza, where
  1794. # '{jct-id}' refers to the junction point for a standard junction (include the
  1795. # leading '/'), or the virtual host label for a virtual host junction.
  1796. kerberos-user-identity =
  1797.  
  1798. #---------------------
  1799. # HTTP/2 FOR JUNCTIONS
  1800. #---------------------
  1801. #
  1802. # HTTP/2 protocol settings for connections to junction servers and connections
  1803. # to proxy servers used to access junction servers. These HTTP/2 configuration
  1804. # items may be customized for a particular junction by adding the adjusted
  1805. # configuration item to a [junction:{jct_id}] stanza, where '{jct-id}' refers
  1806. # to the junction point for a standard junction (include the leading '/'), or
  1807. # the virtual host label for a virtual host junction.
  1808.  
  1809. # HTTP/2: maximum size in bytes that WebSEAL will accept in the header compression
  1810. # table (RFC 7541) from the junction and proxy servers. There is one table per
  1811. # HTTP/2 network connection.
  1812. http2-header-table-size = 4096
  1813.  
  1814. # HTTP/2: maximum number of unacknowledged bytes WebSEAL can accept per active
  1815. # multiplexed stream to the junction and proxy servers. WebSEAL will create an
  1816. # in-memory buffer to hold this many bytes for each active multiplexed stream.
  1817. http2-initial-window-size = 65535
  1818.  
  1819. # HTTP/2: maximum size of the body of a single HTTP/2 protocol frame sent over
  1820. # the HTTP/2 network connection.
  1821. http2-max-frame-size = 16384
  1822.  
  1823. # HTTP/2: maximum size of headers that can be received in a response over a HTTP/2
  1824. # stream. A value of -1 denotes the unlimited setting allowing it's memory use in
  1825. # WebSEAL to be unbounded.
  1826. http2-max-header-list-size = 32768
  1827.  
  1828. # The following configuration item is contained within the obfuscated
  1829. # database and as such is obfuscated within this file. If the value is
  1830. # modified within this configuration file the corresponding change will
  1831. # be applied to the obfuscated database.
  1832.  
  1833. basicauth-dummy-passwd = **obfuscated**
  1834.  
  1835.  
  1836. [query-contents]
  1837. #----------------------
  1838. # QUERY CONTENTS
  1839. #----------------------
  1840.  
  1841. # When this option is enabled then the query string sent to the query contents
  1842. # CGI on junctions will be a uri encoded UTF-8 string. In addition a
  1843. # x-query-contents-uriencoded header is sent with the value "yes". This
  1844. # option is to aid in supporting non-ASCII locales.
  1845. query-contents-uriencoded = no
  1846.  
  1847.  
  1848. [illegal-url-substrings]
  1849. #----------------------
  1850. # ILLEGAL URL SUBSTRINGS
  1851. #----------------------
  1852. # WebSEAL will block HTTP requests with any of the substrings from this
  1853. # list in the URL.
  1854. #
  1855. # Format is:
  1856. # substring = <STRING>
  1857. #
  1858. substring = <script
  1859.  
  1860.  
  1861. [filter-url]
  1862. #----------------------
  1863. # DOCUMENT FILTERING
  1864. #----------------------
  1865. # URL attributes that the server will filter in responses from
  1866. # junctioned servers.
  1867. # Format is <TAG> = <ATTRIBUTE>
  1868. A = HREF
  1869. APPLET = CODEBASE
  1870. AREA = HREF
  1871. BASE = HREF
  1872. BGSOUND = SRC
  1873. BLOCKQUOTE = CITE
  1874. BODY = BACKGROUND
  1875. DEL = CITE
  1876. DIV = EMPTYURL
  1877. DIV = IMAGEPATH
  1878. DIV = URL
  1879. DIV = VIEWCLASS
  1880. EMBED = PLUGINSPAGE
  1881. EMBED = SRC
  1882. FORM = ACTION
  1883. FRAME = LONGDESC
  1884. FRAME = SRC
  1885. HEAD = PROFILE
  1886. IFRAME = LONGDESC
  1887. IFRAME = SRC
  1888. ILAYER = BACKGROUND
  1889. ILAYER = SRC
  1890. IMG = SRC
  1891. IMG = LOWSRC
  1892. IMG = LONGDESC
  1893. IMG = USEMAP
  1894. IMG = DYNSRC
  1895. INPUT = SRC
  1896. INPUT = USEMAP
  1897. INS = CITE
  1898. ISINDEX = ACTION
  1899. ISINDEX = HREF
  1900. LAYER = BACKGROUND
  1901. LAYER = SRC
  1902. LINK = HREF
  1903. LINK = SRC
  1904. OBJECT = CODEBASE
  1905. OBJECT = DATA
  1906. OBJECT = USEMAP
  1907. Q = CITE
  1908. SCRIPT = SRC
  1909. TABLE = BACKGROUND
  1910. TD = BACKGROUND
  1911. TH = BACKGROUND
  1912. TR = BACKGROUND
  1913. WM:CALENDARPICKER = FOLDERURL
  1914. WM:CALENDARPICKER = IMAGEPREVARROW
  1915. WM:CALENDARPICKER = IMAGENEXTARROW
  1916. WM:CALENDARVIEW = FOLDERURL
  1917. WM:MESSAGE = DRAFTSURL
  1918. WM:MESSAGE = URL
  1919. WM:NOTIFY = FOLDER
  1920. WM:REMINDER = FOLDER
  1921. ?IMPORT = IMPLEMENTATION
  1922.  
  1923. [filter-events]
  1924. #------------------------
  1925. # EVENT HANDLER FILTERING
  1926. #------------------------
  1927. # Specifies (TAG,EVENT-HANDLER) pairs that contain JavaScript requiring
  1928. # filtering of URL references. Currently, only absolute URLs are
  1929. # supported.
  1930. #
  1931. # Format is <TAG> = <EVENT-HANDLER>
  1932. A = ONCLICK
  1933. A = ONDBLCLICK
  1934. A = ONMOUSEDOWN
  1935. A = ONMOUSEOUT
  1936. A = ONMOUSEOVER
  1937. A = ONMOUSEUP
  1938. AREA = ONCLICK
  1939. AREA = ONMOUSEOUT
  1940. AREA = ONMOUSEOVER
  1941. BODY = ONBLUR
  1942. BODY = ONCLICK
  1943. BODY = ONDRAGDROP
  1944. BODY = ONFOCUS
  1945. BODY = ONKEYDOWN
  1946. BODY = ONKEYPRESS
  1947. BODY = ONKEYUP
  1948. BODY = ONLOAD
  1949. BODY = ONMOUSEDOWN
  1950. BODY = ONMOUSEUP
  1951. BODY = ONMOVE
  1952. BODY = ONRESIZE
  1953. BODY = ONUNLOAD
  1954. FORM = ONRESET
  1955. FORM = ONSUBMIT
  1956. FRAME = ONBLUR
  1957. FRAME = ONDRAGDROP
  1958. FRAME = ONFOCUS
  1959. FRAME = ONLOAD
  1960. FRAME = ONMOVE
  1961. FRAME = ONRESIZE
  1962. FRAME = ONUNLOAD
  1963. IMG = ONABORT
  1964. IMG = ONERROR
  1965. IMG = ONLOAD
  1966. INPUT = ONBLUR
  1967. INPUT = ONCHANGE
  1968. INPUT = ONCLICK
  1969. INPUT = ONFOCUS
  1970. INPUT = ONKEYDOWN
  1971. INPUT = ONKEYPRESS
  1972. INPUT = ONKEYUP
  1973. INPUT = ONMOUSEDOWN
  1974. INPUT = ONMOUSEUP
  1975. INPUT = ONSELECT
  1976. LAYER = ONBLUR
  1977. LAYER = ONLOAD
  1978. LAYER = ONMOUSEOUT
  1979. LAYER = ONMOUSEOVER
  1980. SELECT = ONBLUR
  1981. SELECT = ONCHANGE
  1982. SELECT = ONFOCUS
  1983. TEXTAREA = ONBLUR
  1984. TEXTAREA = ONCHANGE
  1985. TEXTAREA = ONFOCUS
  1986. TEXTAREA = ONKEYDOWN
  1987. TEXTAREA = ONKEYPRESS
  1988. TEXTAREA = ONKEYUP
  1989. TEXTAREA = ONSELECT
  1990.  
  1991. [filter-schemes]
  1992. #
  1993. # URLs with these schemes are not filtered in responses from junctioned
  1994. # servers.
  1995. #
  1996. # Notes and Exceptions:
  1997. # - HTTP: and HTTPS: are internally handled and will be ignored if present in
  1998. # this list.
  1999. # - Webseald will filter URLs with a scheme matching one in this list if
  2000. # the response from a junctioned server has a BASE tag HREF URL scheme the
  2001. # same as the URLs.
  2002. # - If a URL in the response from a junctioned server does not have a scheme
  2003. # from this list, and the scheme is not HTTP: or HTTPS:, then webseald will
  2004. # assume the URL is the same scheme as the junctioned server (HTTP: or
  2005. # HTTPS:) with it's scheme missing.
  2006. # - The trailing ':' on scheme-name is optional, and if missing will be assumed.
  2007. #
  2008. # Format is:
  2009. # scheme = <scheme-name>
  2010. #
  2011. scheme = file
  2012. scheme = ftp
  2013. scheme = mailto
  2014. scheme = news
  2015. scheme = telnet
  2016.  
  2017. [filter-content-types]
  2018. #
  2019. # Document content types that the server will filter in responses from
  2020. # junctioned servers. If types besides text/html and text/vnd.wap.wml
  2021. # are added to this list then the option [script-filtering]script-filter
  2022. # should be set to 'yes'.
  2023. #
  2024. # Format is:
  2025. # type = <type-name>
  2026. #
  2027. type = text/html
  2028. type = text/vnd.wap.wml
  2029.  
  2030. [filter-request-headers]
  2031. #
  2032. # HTTP headers to filter from the client request before sending to the
  2033. # back-end web server. Note that this list is in addition to headers
  2034. # that WebSEAL will always filter, eg iv-user, iv-groups.
  2035. #
  2036. # Format is:
  2037. # header = <header-name>
  2038. #
  2039. # The header name is case insensitive.
  2040. #
  2041. # The addition of "accept-encoding" to this list will prevent junctioned
  2042. # servers from returning compressed data to WebSEAL. WebSEAL cannot
  2043. # filter compressed data.
  2044. header = accept-encoding
  2045.  
  2046.  
  2047. [script-filtering]
  2048. # When script filtering support is enabled, filtering of
  2049. # absolute urls between html <script> tags can be enabled.
  2050. #
  2051. # Only absolute URLs that exist as a complete string in the
  2052. # html schema:server format will be filtered.
  2053. script-filter = no
  2054.  
  2055. # When script-filter is set to yes, enabling this flag will rewrite
  2056. # the absolute URLs with new absolute URLs that contain the protocol,
  2057. # host and port (if necessary) that represent how the user accessed
  2058. # the WebSEAL server.
  2059. #rewrite-absolute-with-absolute = no
  2060.  
  2061. # If another WebSEAL server has created a junction to this WebSEAL
  2062. # server using a WebSEAL to WebSEAL junction, set this to 'yes'
  2063. # to uniquely identify the cookie used for resolving unfiltered links.
  2064. hostname-junction-cookie = no
  2065.  
  2066.  
  2067. # The following stanza is used to configure parameters associated
  2068. # with the snippet filter.
  2069. [snippet-filter]
  2070.  
  2071. # The maximum size (in bytes) of snippets which will be stored in
  2072. # memory. If the snippet exceeds the configured maximum size it will
  2073. # not be cached, but will instead be read from disk during the
  2074. # construction of each response.
  2075. max-snippet-size = 1024
  2076.  
  2077. # The following stanza is used to configure the snippet filter for a
  2078. # particular resource. This filter will allow snippets to be inserted
  2079. # into the response for the resource.
  2080. #
  2081. # The format of the stanza, and its entries are as follows:
  2082. # [snippet-filter:<uri>]
  2083. # <location> = <filename>
  2084. #
  2085. # where:
  2086. # <uri>: The decoded URI for which the snippet substitution will
  2087. # take place.
  2088. # <location>: The location at which the snippet should be inserted.
  2089. # This string will be pattern matched against a line in
  2090. # the response using the '*.' wildcard characters. The
  2091. # maximum length of a line in a response which can be
  2092. # matched by the filter is 8192 bytes. If the line in the
  2093. # response is longer than this it will simply be streamed
  2094. # through to the client and cannot be used to identify a
  2095. # snippet location.
  2096. # <filename>: The name of the file which contains the snippet which
  2097. # is to be inserted. The path specified should be
  2098. # relative to the 'snippet' directory in the management
  2099. # root directory.
  2100. #
  2101. # Multiple resources may be specified, and multiple locations may be
  2102. # configured for each resource. The entries within the stanza must
  2103. # appear in the order that they will be inserted within the returned
  2104. # page.
  2105.  
  2106. [preserve-cookie-names]
  2107. #
  2108. # WebSEAL will, by default, modify the names of cookies returned in
  2109. # responses from junctions created with the -j flag or listed in the
  2110. # Junction Mapping Table. This is done to prevent naming conflicts with
  2111. # cookies returned from other junctions.
  2112. #
  2113. # If front end applications depend on the names of certain cookies, you
  2114. # you may want to disable this behavior for those cookies. To do so, list
  2115. # the cookies in this stanza.
  2116. #
  2117. # Format is:
  2118. # name = <cookie-name>
  2119.  
  2120. [credential-refresh-attributes]
  2121. #
  2122. # When a user's credential is refreshed, some attributes may be preserved
  2123. # by copying their values from the original credential into the new
  2124. # credential. This stanza is used to control which attributes are preserved and
  2125. # which are refreshed. The attribute name patterns are case-insensitive wild
  2126. # card patterns that are used to select attributes.
  2127. #
  2128. # Order is important. The first pattern which matches a given attribute
  2129. # will decide whether the attribute is preserved or refreshed. If no
  2130. # pattern matches an attribute, then the attribute will be refreshed.
  2131. #
  2132. # Format is one of:
  2133. # <attribute-name-pattern> = preserve
  2134. # <attribute-name-pattern> = refresh
  2135. #
  2136. authentication_level = preserve
  2137. tagvalue_* = preserve
  2138.  
  2139. [gso-cache]
  2140. #----------------------
  2141. # GSO CACHE
  2142. #----------------------
  2143.  
  2144. # GSO cache configuration.
  2145. # gso-cache-enabled must be set to 'yes' before the other parameters
  2146. # will take effect.
  2147. gso-cache-enabled = no
  2148.  
  2149. # Cache size (number of entries)
  2150. gso-cache-size = 1024
  2151.  
  2152. # Cache entry lifetime (in seconds)
  2153. gso-cache-entry-lifetime = 900
  2154.  
  2155. # Cache entry idle timeout (in seconds)
  2156. gso-cache-entry-idle-timeout = 120
  2157.  
  2158.  
  2159. [ltpa-cache]
  2160. #----------------------
  2161. # LTPA CACHE
  2162. #----------------------
  2163.  
  2164. # LTPA cache configuration.
  2165. # The ltpa-cache-enabled entry must be set to 'yes' before
  2166. # the other ltpa parameters will take effect.
  2167. ltpa-cache-enabled = yes
  2168.  
  2169. # Cache size (number of entries)
  2170. ltpa-cache-size = 4096
  2171.  
  2172. # Cache entry lifetime (in seconds)
  2173. ltpa-cache-entry-lifetime = 3600
  2174.  
  2175. # Cache entry idle timeout (in seconds)
  2176. ltpa-cache-entry-idle-timeout = 600
  2177.  
  2178.  
  2179.  
  2180. ###############################
  2181. # AUTHENTICATION
  2182. ###############################
  2183. [ba]
  2184. #----------------------
  2185. # BASIC AUTHENTICATION
  2186. #----------------------
  2187.  
  2188. # Enable authentication using the Basic Authentication mechanism
  2189. # One of <http, https, both, none>
  2190. ba-auth = none
  2191.  
  2192. # Realm name. This is the text that is displayed in the
  2193. # browser's dialog box when prompting the user for login data.
  2194. # By default, the string 'Access Manager' is used.
  2195. #basic-auth-realm = Access Manager
  2196.  
  2197. # IMPORTANT:
  2198. # If forms authentication is enabled for a particular transport,
  2199. # the basic authentication settings for that transport will be ignored.
  2200.  
  2201. [forms]
  2202. #----------------------
  2203. # FORMS
  2204. #----------------------
  2205.  
  2206. # Enable authentication using the forms authentication mechanism
  2207. # One of <http, https, both, none>
  2208. forms-auth = https
  2209.  
  2210. # IMPORTANT:
  2211. # If forms authentication is enabled for a particular transport,
  2212. # the basic authentication settings for that transport will be ignored.
  2213.  
  2214. # If a forms login request is received with either an empty user name or
  2215. # an empty password, then WebSEAL will return the login form without
  2216. # stating an error. If it is prefered that an error message is displayed,
  2217. # then set this value to true. In this case, WebSEAL will attempt to
  2218. # authenticate the user, and if the values have 0 length, the registry
  2219. # will return the appropriate error.
  2220. allow-empty-form-fields = false
  2221.  
  2222. [spnego]
  2223. #----------------------
  2224. # SPNEGO
  2225. #----------------------
  2226.  
  2227. # Enable authentication using the SPNEGO authentication mechanism
  2228. # One of <http, https, both, none>
  2229. spnego-auth = none
  2230.  
  2231. # IMPORTANT:
  2232. # If forms authentication is enabled for a particular transport,
  2233. # the SPNEGO authentication settings for that transport will be ignored.
  2234.  
  2235. # SPNEGO authentication provides a principal name of the form
  2236. # "shortname@domain.com". By default, TAM uses only the shortname
  2237. # as the TAM user-id. If this parameter is set to yes, then TAM will
  2238. # include the domain as part of the TAM user-id.
  2239. #
  2240. # Example:
  2241. # SPNEGO authentication provides principal name: user@example.com
  2242. # If this parameter is no: the TAM user-id is "user"
  2243. # If this parameter is yes: the TAM user-id is "user@example.com"
  2244. #
  2245. # Note that this configuration option has no effect if Active
  2246. # Directory Multi Domain is being used as the TAM user registry. For
  2247. # AD MD, the domain name is always included as part of the TAM user-id.
  2248. use-domain-qualified-name = no
  2249.  
  2250. #
  2251. # List of kerberos service-principal-names (SPNs) for the server. This is only
  2252. # used on UNIX platforms. Each principal name must have the form
  2253. # HTTP@<hostname>, where hostname is the DNS name browsers will use to contact
  2254. # the web server.
  2255. #
  2256. # The SPN used for SPNEGO authentication depends on the whether the client is
  2257. # accessing a traditional WebSEAL junction or a transparent junction. For
  2258. # traditional WebSEAL junctions, the first SPN in the list is always used.
  2259. # For transparent junctions, WebSEAL first searches for an SPN that matches
  2260. # the hostname the client used to connect to WebSEAL. If no matching SPN is
  2261. # found, then the first SPN from the list will be used instead.
  2262. #
  2263. # In most cases the hostname used here should be fully qualified.
  2264. #
  2265. # Format is:
  2266. # spnego-krb-service-name = HTTP@<host-one.example.com>
  2267. # spnego-krb-service-name = HTTP@<host-two.example.com>
  2268. # ...
  2269. #
  2270. spnego-krb-service-name = <service-name>
  2271.  
  2272. #
  2273. # The path to the kerberos keytab file for the server. This is only used
  2274. # on UNIX platforms. The keytab file must contain keys for each of the
  2275. # SPNs used for SPNEGO authentication.
  2276. #
  2277.  
  2278. # The following files are currently available for this configuration entry:
  2279. # - <none available>
  2280.  
  2281. spnego-krb-keytab-file =
  2282.  
  2283. #
  2284. # During SPNEGO authentication the system can add the SID of the user as an
  2285. # extended attribute to the credential. This entry specifies the name of the
  2286. # attribute. This is only used on UNIX platforms.
  2287. #
  2288. # If this entry is not present, then the system does not add the SID as an
  2289. # extended attribute to the credential.
  2290. #
  2291. spnego-sid-attr-name =
  2292.  
  2293. [token]
  2294. #----------------------
  2295. # TOKEN
  2296. #----------------------
  2297.  
  2298. # Enable authentication using the token authentication mechanism
  2299. # One of <http, https, both, none>
  2300. token-auth = none
  2301.  
  2302. # IMPORTANT:
  2303. # If token authentication is enabled for a particular transport,
  2304. # the basic authentication settings for that transport will be ignored.
  2305.  
  2306. [certificate]
  2307. #----------------------
  2308. # CERTIFICATE
  2309. #----------------------
  2310.  
  2311. # When to accept a certificate from HTTPS clients. Options are:
  2312. #
  2313. # never Never request a client certificate.
  2314. #
  2315. # critical Always request a client certificate. If a valid certificate
  2316. # is not presented the SSL handshake will fail.
  2317. #
  2318. # required Always request a client certificate. If a valid certificate
  2319. # is not presented the SSL handshake will succeed and a
  2320. # error HTTP response will be sent back to the client.
  2321. #
  2322. # optional Always request a client certificate. If presented, use it.
  2323. #
  2324. # prompt_as_needed Certificates will only be prompted for and processed when
  2325. # certificate authentication is necessary (due to an ACL or
  2326. # POP check failure).
  2327. #
  2328. accept-client-certs = never
  2329.  
  2330. # IMPORTANT
  2331. # If this is set to 'required', all other authentication
  2332. # settings are ignored for HTTPS clients
  2333.  
  2334. #----------------------
  2335. # CERTIFICATE SSL ID CACHE SETTINGS
  2336. #----------------------
  2337. # A cache is necessary to store the SSL IDs of sessions that require a
  2338. # certificate exchange. This cache is only required when accept-client-certs =
  2339. # prompt_as_needed.
  2340.  
  2341. # The maximum number of concurrent entries in the Certificate SSL ID cache
  2342. # This corresponds to the number of concurrent certificate logins.
  2343. # Setting this to zero will allow unlimited cache size.
  2344. cert-cache-max-entries = 1024
  2345.  
  2346. # Maximum lifetime (in seconds) for an entry in the Certificate SSL ID cache.
  2347. # Setting this to zero allows entries the cache to fill without expiry until the
  2348. # cache contains the number of entries specified by cert-cache-max-entries.
  2349. # After that point, entries are expired according to a least recently used
  2350. # algorithm.
  2351. cert-cache-timeout = 120
  2352.  
  2353. # This controls the number of times WebSEAL will attempt to authenticate
  2354. # a client using certificates before assuming the client cannot provide
  2355. # a certificate. A value of 5 is recommended because most browsers will
  2356. # maintain a maximum of 4 TCP connections to a Web server. (Each attempt
  2357. # to prompt a client for certificate authentication will cause a TCP
  2358. # connection to be closed, and if all active TCP connections to a browser
  2359. # have been closed then the browser is probably unable to provide client
  2360. # certificate authentication.) Values less than 2 or greater than 15 are
  2361. # not permitted. This value is not used unless accept-client-certs =
  2362. # prompt_as_needed.
  2363. cert-prompt-max-tries = 5
  2364.  
  2365. # When disable-cert-login-page is set to "yes" the initial login form with
  2366. # an option to prompt for certificate will not be presented. WebSEAL will
  2367. # instead bypass this and directly prompt for the certificate.
  2368. disable-cert-login-page = no
  2369.  
  2370. # When accept-client-certs is set to "prompt_as_needed" this option causes
  2371. # the client (browser) to be redirected to another HTTPS port on the WebSEAL
  2372. # server, using the same host name. The other port must be on an interface
  2373. # configured with accept-client-certs = "required". The redirection occurs
  2374. # from certlogin.html and stepuplogin.html when the certificate login button is
  2375. # pressed. This option also provides the SECONDARY_BASE macro which is
  2376. # provided for certlogin.html and setuplogin.html to allow redirection to
  2377. # the secondary port for authentication using certificates. It is of the form
  2378. # HTTPS://%HOSTNAME%:<secondary-port>
  2379. # If not set, or set to zero, this feature is disabled and the SECONDARY_BASE
  2380. # macro is set to the empty string.
  2381. secondary-port = 0
  2382.  
  2383. # This option is for when secondary-port and is enabled for prompt_as_needed
  2384. # and use-secondary-listener is enabled for the interface providing the
  2385. # secondary-port. When these are enabled and the browser provided certificate
  2386. # fails to map to a valid user, enabling this option will cause WebSEAL to
  2387. # redirect the browser back to the original interface (port) to output the
  2388. # cert-failure error message.
  2389. secondary-fail-redirect = no
  2390.  
  2391. #----------------------
  2392. # External Authentication Interface (EAI) settings
  2393. #----------------------
  2394.  
  2395. #
  2396. # The resource identifier of the application which will be invoked
  2397. # to perform the certificate authentication. This URI should be relative
  2398. # to the root web space of the WebSEAL server. If this configuration entry
  2399. # is not defined the standard CDAS authentication mechanism will be used to
  2400. # handle the authentication.
  2401. #
  2402. # The following additional headers will be made available in the EAI request:
  2403. # eai_qop: The quality-of-protection settings for the client.
  2404. # eai_domain: The ISAM domain name.
  2405. #
  2406. #eai-uri =
  2407.  
  2408. #
  2409. # The client certificate data which will be passed to the EAI application.
  2410. # The format of the configuration entry will be:
  2411. # eai-data = <data>:<header-name>
  2412. #
  2413. # The <data> component is used to indicate the data which will be included
  2414. # in the header. It should be one of the following:
  2415. # * Base64Certificate
  2416. # * SerialNumber
  2417. # * SubjectCN
  2418. # * SubjectLocality
  2419. # * SubjectState
  2420. # * SubjectCountry
  2421. # * SubjectOrganization
  2422. # * SubjectOrganizationalUnit
  2423. # * SubjectDN
  2424. # * SubjectPostalCode
  2425. # * SubjectEmail
  2426. # * SubjectUniqueID
  2427. # * IssuerCN
  2428. # * IssuerLocality
  2429. # * IssuerState
  2430. # * IssuerCountry
  2431. # * IssuerOrganization
  2432. # * IssuerOrganizationUnit
  2433. # * IssuerDN
  2434. # * IssuerPostalCode
  2435. # * IssuerEmail
  2436. # * IssuerUniqueID
  2437. # * Version
  2438. # * SignatureAlgorithm
  2439. # * ValidFrom
  2440. # * ValidFromEx
  2441. # * ValidTo
  2442. # * ValidToEx
  2443. # * PublicKeyAlgorithm
  2444. # * PublicKey
  2445. # * PublicKeySize
  2446. # * FingerprintAlgorithm
  2447. # * Fingerprint
  2448. #
  2449. # The <header-name> component is used to indicate the name of the HTTP
  2450. # header which will contain the data.
  2451. #
  2452. # Multiple pieces of client certificate data can be passed to the EAI
  2453. # application by including multiple 'eai-data' configuration entries.
  2454. #
  2455. # An example configuration might be:
  2456. # eai-data = SerialNumber:eai_serial_num
  2457. #
  2458.  
  2459.  
  2460. [authentication-levels]
  2461. #----------------------
  2462. # STEP UP
  2463. #----------------------
  2464.  
  2465. # authentication levels
  2466. #
  2467. # Syntax:
  2468. # level = <method-name>
  2469. #
  2470. # Valid method names are:
  2471. # unauthenticated
  2472. # password
  2473. # token-card
  2474. # ssl
  2475. # ext-auth-interface
  2476. # ltpa
  2477. # kerberosv5
  2478. # oauth
  2479. #
  2480. level = unauthenticated
  2481. level = password
  2482.  
  2483. # IMPORTANT
  2484. # 1) You cannot step up to an authentication method that is not enabled.
  2485. # For example, you must enable either BA or forms authentication
  2486. # before 'level = password' in this list will have any effect.
  2487. #
  2488. # 2) POP settings are required to enable step-up authentication.
  2489. # Please see the administration guide for details.
  2490.  
  2491. [step-up]
  2492. #
  2493. # The following entry determines, in the event of a step-up operation,
  2494. # whether the new user ID must match the user ID from the previous
  2495. # authentication. In the situation where verify-step-up-user = yes,
  2496. # and the user IDs do not match, an error will be presented to the user.
  2497. #
  2498. verify-step-up-user = yes
  2499.  
  2500. #
  2501. # The following entry allows the administrator to control what login prompts
  2502. # are shown to users when they request a resource protected by a stepup policy.
  2503. #
  2504. # If show-all-auth-prompts = yes, the login prompts for all configured
  2505. # authentication methods are shown.
  2506. #
  2507. # If show-all-auth-prompts = no, only the login prompt for the method matching
  2508. # the required authentication level is shown.
  2509. #
  2510. show-all-auth-prompts = no
  2511.  
  2512. #
  2513. # This configuration entry will control whether an authentication
  2514. # level/mechanism which is higher than the requested step-up level is
  2515. # allowed during a step-up operation.
  2516. #
  2517. # The default value, if no entry is specified, is 'no'.
  2518. #
  2519. step-up-at-higher-level = no
  2520.  
  2521.  
  2522. [mpa]
  2523. #----------------------
  2524. # MULTIPLEXING PROXY AGENTS
  2525. #----------------------
  2526.  
  2527. # Support Multiplexing Proxy Agents (yes/no)
  2528. mpa = no
  2529.  
  2530. [cdsso]
  2531. #----------------------
  2532. # CDSSO
  2533. #----------------------
  2534.  
  2535. # Accept cdsso tokens
  2536. # This will require that an authentication module is specified for
  2537. # 'sso-consume' in the 'authentication-mechanisms' stanza.
  2538. # One of <http, https, both, none>
  2539. cdsso-auth = none
  2540.  
  2541. # Generate cdsso tokens.
  2542. # This will require that an authentication module is specified for
  2543. # 'sso-create' in the 'authentication-mechanisms' stanza.
  2544. # One of <http, https, both, none>
  2545. cdsso-create = none
  2546.  
  2547. # Single sign on authentication token lifetime (in seconds)
  2548. # This mitigates clock skew between separate WebSEAL servers.
  2549. authtoken-lifetime = 180
  2550.  
  2551. # cdsso-argument
  2552. # This is the name of the argument containing the CDSSO token in a query string
  2553. # of a request. This is used to identify incoming requests containing
  2554. # CDSSO authentication information.
  2555. #
  2556. # Syntax:
  2557. # cdsso-argument = <argument name>
  2558. # For standard CDSSO, use PD-ID
  2559. cdsso-argument = PD-ID
  2560.  
  2561. # Specify if UTF-8 encoding should be used in the strings within the cdsso
  2562. # token. UTF-8 should be used when user names or credential attributes in the
  2563. # token are not encoded in the same code page as the WebSEAL server is using.
  2564. # Set to "no" if your tokens need to interoperate with environments that
  2565. # use local code page. This option only affects CDSSO tokens created and
  2566. # consumed by the default SSO create and consume libraries.
  2567. use-utf8 = yes
  2568.  
  2569. # When an SSO token is generated, a call is made to the Cross Domain Mapping
  2570. # Framework (CDMF) API to determine the extended attributes that must be
  2571. # encoded into the token so that the user can be correctly mapped across the
  2572. # SSO authentication. The propagate-cdmf-errors parameter determines
  2573. # whether the failure of the cdmf_get_usr_attributes call will cause token
  2574. # creation as a whole to fail. If propagate-cdmf-errors is set to "no"
  2575. # (default), a default attribute list will be generated if the CDMF fails
  2576. # and token creation will proceed without error. However, if
  2577. # propagate-cdmf-errors is set to "yes", token creation will be aborted if
  2578. # the CDMF fails.
  2579. propagate-cdmf-errors = no
  2580.  
  2581. # cdsso-argument (PD-ID) and PD-REFERER query string arguments can be
  2582. # passed onto junctions. When this option is set to "yes" these will be
  2583. # removed from the URI before passing the request onto the junction.
  2584. clean-cdsso-urls = no
  2585.  
  2586.  
  2587. [cdsso-peers]
  2588. # Peers that are participating in Cross Domain Single Sign On (CDSSO)
  2589. #
  2590. # Syntax:
  2591. # <fully qualified host name> = <key file location>
  2592.  
  2593. [cdsso-token-attributes]
  2594. #
  2595. # Credential attributes to include in CDSSO authentication tokens.
  2596. #
  2597. # This stanza defines the sets of attributes to be included in
  2598. # CDSSO authentication tokens, specified on a per-peer or
  2599. # per-domain basis. This processing only takes place if the
  2600. # default SSO token creation and consumption libraries are
  2601. # in use.
  2602. #
  2603. # Credential attributes matching the patterns specified in this stanza
  2604. # for a target host or domain are included in CDSSO authentication tokens
  2605. # constructed for that target host or domain. Only a single value for
  2606. # each attribute is used, and only string values are supported. Other
  2607. # types of credential attribute values will be ignored.
  2608. #
  2609. # Patterns can be specified using shell-style wildcards.
  2610. #
  2611. # The format of these entries is:
  2612. #
  2613. # <domain-name> = <pattern-1>
  2614. # <domain-name> = <pattern-2>
  2615. # <domain-name> = <pattern-n>
  2616. #
  2617. # For example:
  2618. #
  2619. # [cdsso-token-attributes]
  2620. # ibm.com = attrprefix_*
  2621. # ibm.com = *name*
  2622. # tivoli.com = *_attrsuffix
  2623. # tivoli.com = some_exact_attribute
  2624. #
  2625. # A default set of attributes can be configured with a '<default>'
  2626. # entry in this stanza. This set of attributes is used when there
  2627. # is no other entry matching a particular target host. If the '<default>'
  2628. # entry is not present, then no attributes will be included in tokens
  2629. # by default.
  2630. #
  2631. # For example:
  2632. #
  2633. # [cdsso-token-attributes]
  2634. # <default> = myattr*
  2635. # ibm.com = attrprefix_*
  2636. #
  2637. # If no credential attributes are required in CDSSO authentication tokens,
  2638. # then this stanza can remain empty.
  2639. #
  2640.  
  2641. [cdsso-incoming-attributes]
  2642. #
  2643. # Attributes to accept from incoming CDSSO authentication tokens.
  2644. #
  2645. # This stanza defines the sets of attributes to be accepted and rejected
  2646. # from incoming CDSSO authentication tokens. Unlike the outgoing
  2647. # attributes configuration, incoming attributes cannot be configured
  2648. # on a per-peer or per-domain basis. Only one set of attribute patterns
  2649. # can be configured, and these patterns will be applied to incoming
  2650. # tokens regardless of source. This processing only takes place if the
  2651. # default SSO token creation and consumption libraries are
  2652. # in use.
  2653. #
  2654. # The format of entries in this stanza is:
  2655. #
  2656. # <attribute pattern> = <preserve|refresh>
  2657. #
  2658. # Attributes in CDSSO authentication tokens that match a 'refresh' entry
  2659. # will be removed from the token before the CDMF library is called
  2660. # to map the remote user into the local domain. Attributes matching
  2661. # a 'preserve' entry, or matching none of the entries, will be kept.
  2662. # If no entries are configured, then all attributes will be kept.
  2663. #
  2664.  
  2665. [failover]
  2666. #----------------------
  2667. # FAILOVER
  2668. #----------------------
  2669.  
  2670. # Accept failover cookies
  2671. # One of <http, https, both, none>
  2672. failover-auth = none
  2673.  
  2674. # Key file for failover cookie encryption
  2675. # The cdsso_key_gen utility must be used to create this file
  2676.  
  2677. # The following files are currently available for this configuration entry:
  2678. # - <none available>
  2679.  
  2680. failover-cookies-keyfile =
  2681.  
  2682. # The name of the cookie which will be used to house the failover token
  2683. failover-cookie-name = PD-ID
  2684.  
  2685. # Number of minutes that failover cookie contents are valid
  2686. failover-cookie-lifetime = 60
  2687.  
  2688. # Enable the failover cookie for the domain
  2689. # This allows the cookie to send back to any server within
  2690. # the same domain as WebSEAL.
  2691. enable-failover-cookie-for-domain = no
  2692.  
  2693. # If failover cookie for the domain is enabled
  2694. # Webseal determines the domain to use as follows
  2695. # 1) if the request is for a virtual host junction then the virtual host domain is used.
  2696. # 2) if failover-cookie-domain-from-host-header is enabled and the request contains a host
  2697. # header then the domain from the host header is used.
  2698. # 3) if failover-cookie-domain has specified a domain then it is used.
  2699. # 4) if web-host-name has been specified (in the [server] section) then the domain from the web-host-name is used.
  2700. # 5) if none of the above then the domain is retrieved from the operating system
  2701. #
  2702. failover-cookie-domain-from-host-header = no
  2703.  
  2704. # Specify if UTF-8 encoding should be used in the strings within the failover
  2705. # cookie. UTF-8 should be used when user names or credential attributes in the
  2706. # cookie are not encoded in the same code page as the WebSEAL server is using.
  2707. # Set to "no" if your cookies need to interoperate with environments that
  2708. # use local code page.
  2709. use-utf8 = yes
  2710.  
  2711. # The integer number of seconds that pass between updating the failover cookie's
  2712. # last activity timestamp. With each request, if n seconds have passed since the
  2713. # last cookie update, and last activity timestamps are configured to be
  2714. # inserted in failover cookies, another update will occur.
  2715. # A zero value will cause the last activity timestamp in the failover cookie
  2716. # to be updated with each request.
  2717. # Negative values will cause the last activity timestamp in the cookie to never
  2718. # be updated.
  2719. failover-update-cookie = -1
  2720.  
  2721. # Enable validation of session lifetime and activity timestamp attributes of
  2722. # incoming failover cookies. Settings are:
  2723. # no: The timestamp is not required, but if it exists and is invalid,
  2724. # failover authentication will fail.
  2725. # yes: If the timestamp is invalid or missing, failover authentication
  2726. # will fail.
  2727. failover-require-lifetime-timestamp-validation = no
  2728. failover-require-activity-timestamp-validation = no
  2729.  
  2730. # Include the user's session ID as an attribute of the failover cookie to
  2731. # enable non-sticky failover. Non-sticky failover allows users to authenticate
  2732. # to multiple WebSEAL replicas without being issued new session cookies for
  2733. # each failover occurrence.
  2734. #
  2735. # To enable non-sticky failover functionality, the following options must
  2736. # be set; WebSEAL will report a startup error and fail to start if any
  2737. # of the settings below are incorrect.
  2738. # - In [session], set ssl-id-sessions = no
  2739. # - Enable the following settings:
  2740. # - In [failover-add-attributes],
  2741. # tagvalue_failover_amweb_session_id = add
  2742. # - In [failover-restore-attributes],
  2743. # tagvalue_failover_amweb_session_id = preserve
  2744. # - In [credential-refresh-attributes],
  2745. # tagvalue_failover_amweb_session_id = preserve
  2746. # - Wildcard patterns in the above 3 settings are allowed.
  2747. failover-include-session-id = no
  2748.  
  2749. # Resend the failover cookie if it is missing from the request
  2750. # In certain environments clients may "lose" the failover cookie.
  2751. # If this configuration option is set to yes then WebSEAL will
  2752. # automatically resend the failover cookie if the client does
  2753. # not present it.
  2754. reissue-missing-failover-cookie = no
  2755.  
  2756. [failover-add-attributes]
  2757. # Specify which attributes from the credential to store in a failover cookie.
  2758. #
  2759. # The format for attributes to add to the failover cookie is:
  2760. # <attribute pattern> = add
  2761. # where <attribute pattern> is a case-insensitive wild card pattern.
  2762. #
  2763. # The AUTHENTICATION_LEVEL and AZN_CRED_AUTH_METHOD attributes
  2764. # will always be added to the failover cookie, regardless of the
  2765. # entries in this stanza.
  2766. #
  2767. #tagvalue_failover_amweb_session_id = add
  2768.  
  2769. [failover-restore-attributes]
  2770. # Specify which attributes to put in the new credential when recreating a
  2771. # credential from a failover cookie. This stanza is used to control which
  2772. # attributes are preserved and which are refreshed.
  2773.  
  2774. # The attribute name pattern are case-insensitive wild card patterns that are
  2775. # used to select attributes.
  2776. #
  2777. # Order is important. Rules that appear earlier in either failover-attribute
  2778. # stanza take precedence over those that appear later in the stanza. If an
  2779. # attribute does not match any of the rules, it will not be considered for
  2780. # special handling.
  2781. #
  2782. # The format for adding attributes from the cookie (if present) to the new
  2783. # credential is:
  2784. # <attribute pattern> = preserve
  2785. #
  2786. # The format for explicitly ignoring failover cookie attributes (default
  2787. # behavior) for addition to the new credential is:
  2788. # <attribute pattern> = refresh
  2789. #
  2790. # All failover cookie attributes will be ignored (for the purpose of
  2791. # adding them to a new credential) unless specified by a 'preserve' line.
  2792. #
  2793. #tagvalue_failover_amweb_session_id = preserve
  2794.  
  2795. [ltpa]
  2796.  
  2797. #----------------------
  2798. # LTPA Authentication
  2799. #----------------------
  2800.  
  2801. # Accept/generate LTPA cookies
  2802. # One of <http, https, both, none>
  2803. ltpa-auth = none
  2804.  
  2805. # The key file used when accessing LTPA cookies. This must correspond to a
  2806. # valid LTPA key file, as generated by WebSphere.
  2807.  
  2808. # The following files are currently available for this configuration entry:
  2809. # - <none available>
  2810.  
  2811. keyfile =
  2812.  
  2813. # The name of the cookie which will contain the LTPA token.
  2814. cookie-name = Ltpatoken2
  2815.  
  2816. # The domain of the LTPA cookie. If no cookie domain is specified the LTPA
  2817. # cookie will be created as a host-only cookie.
  2818. # cookie-domain = ibm.com
  2819.  
  2820. # The number of seconds that pass between updates of the LTPA cookie with the
  2821. # lifetime of the cookie. With each request, if n seconds have passed since
  2822. # the last cookie update, another update will occur. A zero value will cause
  2823. # the lifetime timestamp in the LTPA cookie to be updated with each request.
  2824. # Negative values will cause the lifetime of the cookie to be set to the same
  2825. # value as the lifetime of the user session. This setting is used in an
  2826. # attempt to mimic the inactivity timeout of a user session.
  2827. update-cookie = -1
  2828.  
  2829. # Should the full DN of the user be inserted into the generated LTPA cookie, or
  2830. # should the TAM short name of the user be inserted into the generated LTPA
  2831. # cookie.
  2832. use-full-dn = true
  2833.  
  2834. # The name of the cookie sent across a junction containing the LTPA
  2835. # token can be customized.
  2836. #
  2837. # This name must match the configured name in the WebSphere
  2838. # application on the junction to successfully achieve single signon.
  2839. #
  2840. # When not configured, the default values of LtpaToken or LtpaToken2
  2841. # for LTPA or LTPAv2 respectively are used.
  2842. #
  2843. # This configuration item may be customized for a particular junction
  2844. # by adding the adjusted configuration item to a [ltpa:{jct_id}] stanza,
  2845. # where '{jct-id}' refers to the junction point for a standard junction
  2846. # (include the leading '/'), or the virtual host label for a virtual host
  2847. # junction.
  2848. #
  2849. # jct-ltpa-cookie-name = LtpaToken
  2850.  
  2851. [e-community-sso]
  2852. #----------------------
  2853. # e-COMMUNITY SSO
  2854. #----------------------
  2855. # Participate in e-community single sign on
  2856. # One of <http, https, both, none>
  2857. e-community-sso-auth = none
  2858.  
  2859. # The e-community name. This needs to match any vouch-for tokens or
  2860. # e-community cookies that are received.
  2861. # e-community-name = <name>
  2862.  
  2863. # Master authentication server settings. If is-master-authn-server
  2864. # is set to "yes " then this server will accept vouch-for requests from
  2865. # other WebSEAL instances whose domain keys are listed in the
  2866. # [e-community-domain-keys] stanza.
  2867. # is-master-authn-server = <yes/no>
  2868.  
  2869. # If is-master-authn-server is set to "no" then this value needs
  2870. # to be specified. If a local domain login has not already been performed then
  2871. # authentication attempts will be routed through this machine,
  2872. # which will need to vouch for a users identity.
  2873. # The domain key for the master-authn-server needs to be listed in the
  2874. # [e-community-domain-keys] stanza.
  2875. # master-authn-server = <server name>
  2876.  
  2877. # If e-community-sso-auth permits use of the HTTP protocol and
  2878. # the master-authn-server listens for HTTP requests on a port other
  2879. # than the standard HTTP port (port 80) then this non-standard port
  2880. # needs to be configured here. This parameter is ignored if this server
  2881. # is the master authentication server.
  2882. #
  2883. # master-http-port = <port>
  2884.  
  2885. # If e-community-sso-auth permits use of the HTTPS protocol and
  2886. # the master-authn-server listens for HTTPS requests on a port other
  2887. # than the standard HTTPS port (port 443) then this non-standard port
  2888. # needs to be configured here. This parameter is ignored if this server
  2889. # is the master authentication server.
  2890. #
  2891. # master-https-port = <port>
  2892.  
  2893.  
  2894. # vouch-for token lifetime in seconds. This needs to take into account clock
  2895. # skew between participants.
  2896. vf-token-lifetime = 180
  2897.  
  2898. # vouch-for URL designator
  2899. # This specifies the start of a URL relative to the server root. This is used
  2900. # to construct vouch-for requests by participating ECSSO servers, and to
  2901. # distinguish requests for vouch-for information from other requests by the
  2902. # MAS.
  2903. #
  2904. # '/pkmsvouchfor' is used by default
  2905. # vf-url = /pkmsvouchfor
  2906.  
  2907. # vouch-for argument
  2908. # This is the name of the vouch-for token (as an argument name) contained in
  2909. # a vouch-for reply.
  2910. # This is used to construct vouch-for replies by the MAS, and to distinguish
  2911. # incoming requests as ones with vouch-for information by participating ECSSO
  2912. # servers.
  2913. #
  2914. # 'PD-VF' is used by default
  2915. # vf-argument = PD-VF
  2916.  
  2917. # ecommunity cookie domain. If not set WebSEAL will use the domain from the
  2918. # automatically determined hostname (or web-host-name if specified).
  2919. # ec-cookie-domain = <domain>
  2920.  
  2921. # ecommunity cookie lifetime, in minutes.
  2922. ec-cookie-lifetime = 300
  2923.  
  2924. # Enable or disable unauthenticated access with ECSSO.
  2925. # When set to no, every initial ECSSO request will require authentication.
  2926. # Default value is yes.
  2927. ecsso-allow-unauth = yes
  2928.  
  2929. # Specify if UTF-8 encoding should be used in the strings within the vouch-for
  2930. # token. UTF-8 should be used when user names or credential attributes in the
  2931. # token are not encoded in the same code page as the WebSEAL server is using.
  2932. # Set to "no" if your tokens need to interoperate with environments that
  2933. # use local code page.
  2934. use-utf8 = yes
  2935.  
  2936. # When an SSO token is generated, a call is made to the Cross Domain Mapping
  2937. # Framework (CDMF) API to determine the extended attributes that must be
  2938. # encoded into the token so that the user can be correctly mapped across the
  2939. # SSO authentication. The propagate-cdmf-errors parameter determines
  2940. # whether the failure of the cdmf_get_usr_attributes call will cause token
  2941. # creation as a whole to fail. If propagate-cdmf-errors is set to "no"
  2942. # (default), a default attribute list will be generated if the CDMF fails
  2943. # and token creation will proceed without error. However, if
  2944. # propagate-cdmf-errors is set to "yes", token creation will be aborted if
  2945. # the CDMF fails.
  2946. propagate-cdmf-errors = no
  2947.  
  2948. # If an unauthenticated request is made with POST data, set to yes,
  2949. # this option will allow that data to be cached while the e-community
  2950. # master authenticates the user. If the option is set to no, request
  2951. # data will be lost.
  2952. cache-requests-for-ecsso = yes
  2953.  
  2954. # Authentication errors returned by the master-authn-server in vouch-for
  2955. # tokens are not propagated to the ERROR_CODE and ERROR_TEXT macros used
  2956. # by facilities such as local response redirect. Setting this option to
  2957. # "yes" will propagate the errors.
  2958. ecsso-propagate-errors = no
  2959.  
  2960. # When the following option is set to "yes" this WebSEAL instance is stopped
  2961. # from generating or using eCommunity Cookies. In addition, if this instance
  2962. # is not acting as the MAS, WebSEAL will not respond to vouch-for requests.
  2963. # To be effective, all machines participating in the eCommunity should have
  2964. # this value set the same.
  2965. disable-ec-cookie = no
  2966.  
  2967. # When the following option is set to "yes" on the WebSEAL instance acting as
  2968. # the MAS, the MAS will respond locally to login failures, rather than
  2969. # redirecting the user back to the requesting slave WebSEAL instance.
  2970. handle-auth-failure-at-mas = no
  2971.  
  2972.  
  2973. [e-community-domain-keys]
  2974. # Keys for any domains that are participating in the e-community, including
  2975. # the domain in which the WebSEAL server is running. These are shared on a
  2976. # pair-wise-by-domain basis. The format of these entries is:
  2977. # <domain name> = <key file>
  2978.  
  2979. [e-community-domains]
  2980. # These are the eCommunity cookie domains used by Virtual Host junctions. The
  2981. # domain used by a particular Virtual Host junction will be chosen by finding
  2982. # the longest domain in the table that matches the virtual hostname.
  2983. # Each of these domains must also have a corresponding table of keys defined
  2984. # by creating a stanza of the format [e-community-domain-keys:<domain>].
  2985. # The format these entries is:
  2986. # name = <domain>
  2987.  
  2988. #[e-community-domain-keys:<domain>]
  2989. # Keys for any domains that are participating in the e-community, including
  2990. # the domain in which the Virtual Host junction is running. These are shared
  2991. # on a pair-wise-by-domain basis. The format of these entires is:
  2992. # <domain name> = <key file>
  2993.  
  2994. [ecsso-token-attributes]
  2995. #
  2996. # Credential attributes to include in eCSSO vouch-for tokens.
  2997. #
  2998. # This stanza defines the sets of attributes to be included in
  2999. # eCSSO vouch-for tokens, specified on a per-peer or
  3000. # per-domain basis. This processing only takes place if the
  3001. # default SSO token creation and consumption libraries are
  3002. # in use.
  3003. #
  3004. #
  3005. # Credential attributes matching the patterns specified in this stanza
  3006. # for a target host or domain are included in eCSSO vouch-for tokens
  3007. # constructed for that target host or domain. Only a single value for
  3008. # each attribute is used, and only string values are supported. Other
  3009. # types of credential attribute values will be ignored.
  3010. #
  3011. # Patterns can be specified using shell-style wildcards.
  3012. #
  3013. # The format of these entries is:
  3014. #
  3015. # <domain-name> = <pattern-1>
  3016. # <domain-name> = <pattern-2>
  3017. # <domain-name> = <pattern-n>
  3018. #
  3019. # For example:
  3020. #
  3021. # [ecsso-token-attributes]
  3022. # ibm.com = attrprefix_*
  3023. # ibm.com = *name*
  3024. # tivoli.com = *_attrsuffix
  3025. # tivoli.com = some_exact_attribute
  3026. #
  3027. # A default set of attributes can be configured with a '<default>'
  3028. # entry in this stanza. This set of attributes is used when there
  3029. # is no other entry matching a particular target host. If the '<default>'
  3030. # entry is not present, then no attributes will be included by default.
  3031. #
  3032. # For example:
  3033. #
  3034. # [ecsso-token-attributes]
  3035. # <default> = myattr*
  3036. # ibm.com = attrprefix_*
  3037. #
  3038. # If no credential attributes are required in eCSSO vouch-for tokens,
  3039. # then this stanza can remain empty.
  3040. #
  3041.  
  3042.  
  3043. [ecsso-incoming-attributes]
  3044. #
  3045. # Attributes to accept from incoming eCSSO vouch-for tokens.
  3046. #
  3047. # This stanza defines the sets of attributes to be accepted and rejected
  3048. # from incoming eCSSO vouch-for tokens. Unlike the outgoing
  3049. # attributes configuration, incoming attributes cannot be configured
  3050. # on a per-peer or per-domain basis. Only one set of attribute patterns
  3051. # can be configured, and these patterns will be applied to incoming
  3052. # tokens regardless of source. This processing only takes place if the
  3053. # default SSO token creation and consumption libraries are
  3054. # in use.
  3055. #
  3056. # The format of entries in this stanza is:
  3057. #
  3058. # <attribute pattern> = <preserve|refresh>
  3059. #
  3060. # Attributes in eCSSO vouch-for tokens that match a 'refresh' entry
  3061. # will be removed from the token before the CDMF library is called
  3062. # to map the remote user into the local domain. Attributes matching
  3063. # a 'preserve' entry, or matching none of the entries, will be kept.
  3064. # If no entries are configured, then all attributes will be kept.
  3065. #
  3066.  
  3067.  
  3068. [reauthentication]
  3069. #----------------------
  3070. # REAUTHENTICATION
  3071. #----------------------
  3072.  
  3073. # Prompt users to reauthenticate if their entry in the WebSEAL
  3074. # credential cache has timed out due to inactivity
  3075. #
  3076. # If set to 'no', entries in the cache will be deleted when the
  3077. # inactivity timeout is reached.
  3078. #
  3079. # If set to 'yes', entries in the cache will be retained until the
  3080. # cache lifetime timeout is reached. If the inactivity timeout has
  3081. # been reached and the client makes another request before the cache
  3082. # lifetime timeout is reached, they will be prompted to reauthenticate.
  3083. reauth-for-inactive = no
  3084.  
  3085. # Should the authenticated credential be replaced with an unauthenticated
  3086. # credential for the processing of a request when the session becomes
  3087. # inactive? This configuration entry will control the user identity
  3088. # information which appears in the log file, and the user identity information
  3089. # which can be inserted into the HTTP stream, whilst the session is inactive.
  3090. # It will not affect the single-sign-on information (e.g. iv-creds) whilst
  3091. # the session is inactive.
  3092. replace-inactive-cred = yes
  3093.  
  3094. # Reset the lifetime timer for WebSEAL credential cache entries
  3095. # following successful reauthentication.
  3096. # This applies to reauthentication resulting from either inactivity or
  3097. # from security policy
  3098. reauth-reset-lifetime = no
  3099.  
  3100. # Time in seconds that the credential cache entry lifetime timer should
  3101. # be extended to allow clients to complete a reauthentication.
  3102. # A value of 0 indicates that the lifetimer timer will not be extended.
  3103. # This applies to any clients who are required to log in who
  3104. # already have an existing cache entry, including clients stepping up and
  3105. # clients performing reauthentication resulting from either inactivity or
  3106. # from security policy.
  3107. reauth-extend-lifetime = 0
  3108.  
  3109. # When the user registry policy setting max-login-failures is set and the
  3110. # maximum number of reauthentication login failures is reached the login
  3111. # session will be terminated if this option is enabled.
  3112. terminate-on-reauth-lockout = yes
  3113.  
  3114. # This configuration entry will control whether a different authentication
  3115. # level/mechanism is allowed during a reauthentication operation. Please
  3116. # note that if the configuration option is set to 'yes' the credential
  3117. # could change during the lifetime of the session, potentially more than
  3118. # once.
  3119. #
  3120. # The default value, if no entry is specifed, is 'no'.
  3121. reauth-at-any-level = no
  3122.  
  3123. [eai]
  3124. #----------------------
  3125. # EXTERNAL AUTHENTICATION INTERFACE
  3126. #----------------------
  3127.  
  3128. # Enable EAI authentication.
  3129. #
  3130. # One of <http, https, both, none>
  3131. eai-auth = none
  3132.  
  3133. # EAI HEADER NAMES
  3134.  
  3135. # If eai-auth is not 'none', and WebSEAL has received a trigger URL
  3136. # in a request, WebSEAL will examine the corresponding server response for
  3137. # the following headers. These are the headers that will contain authentication
  3138. # data used to authenticate the user.
  3139.  
  3140. # EAI PAC header names
  3141. eai-pac-header = am-eai-pac
  3142. eai-pac-svc-header = am-eai-pac-svc
  3143.  
  3144. # EAI USER ID header names
  3145. eai-user-id-header = am-eai-user-id
  3146. eai-auth-level-header = am-eai-auth-level
  3147. eai-xattrs-header = am-eai-xattrs
  3148.  
  3149. # EAI external USER ID header names
  3150. # The eai-ext-user-id-header takes precedence over the eai-user-id-header.
  3151. # If the authentication data that is presented to WebSEAL includes both headers,
  3152. # WebSEAL will process it as an authentication for an external user.
  3153. eai-ext-user-id-header = am-eai-ext-user-id
  3154. eai-ext-user-groups-header = am-eai-ext-user-groups
  3155.  
  3156. # EAI COMMON header names
  3157. eai-redir-url-header = am-eai-redir-url
  3158.  
  3159. # Determines whether the redirect URL contained within the EAI response takes
  3160. # priority over all other EAI redirect options. If set to true the redirect
  3161. # URL contained in the EAI response will take priority.
  3162. eai-redir-url-priority = false
  3163.  
  3164. # The name of the header which is used to 'flag' the authentication
  3165. # response with extra processing information. The supported flags
  3166. # (.i.e. header values) include:
  3167. # - stream: Used to indicate that the authentication response should
  3168. # be streamed back to the client.
  3169. eai-flags-header = am-eai-flags
  3170.  
  3171. # The session identifier from a distributed session can also be supplied
  3172. # through the EAI interface. Upon receiving a header which contains the
  3173. # distributed session identifier, WebSEAL will retrieve the corresponding
  3174. # session and use this session for subsequent requests. This header
  3175. # provides the mechanism by which distributed sessions (aka DSC sessions)
  3176. # can be shared across multiple DNS domains.
  3177. eai-session-id-header = am-eai-session-id
  3178.  
  3179. # RETAIN EAI SESSION
  3180. # If an already-authenticated EAI client authenticates via an EAI a second
  3181. # time, the existing session and cache entry are completely replaced by
  3182. # default. If retain-eai-session = yes, then the existing session and
  3183. # cache entry will be retained, and the credential and relevant data will
  3184. # be updated in the existing cache entry.
  3185. retain-eai-session = no
  3186.  
  3187. #
  3188. # The following entry determines, in the event of a subsequent EAI
  3189. # authentication, whether the new user identity must match the user
  3190. # identity from the previous authentication. In the situation where
  3191. # eai-verify-user-identity = yes, and the user identities do not
  3192. # match, an error will be presented to the user.
  3193. #
  3194. eai-verify-user-identity = no
  3195.  
  3196. # The following configuration entry is used to determine whether multiple
  3197. # extended attribute headers of the same name are added to the credential as
  3198. # a multi-valued attribute, or a single comma-delimited attribute.
  3199. eai-create-multi-valued-attributes = no
  3200.  
  3201. # The following configuration entry is used to determine whether
  3202. # extended attributes replace credential attributes of the same name
  3203. # or are appended as additional values.
  3204. eai-replace-cred-attributes = no
  3205.  
  3206. # EAI TRIGGER URLS
  3207. [eai-trigger-urls]
  3208. # If eai-auth is not 'none', then WebSEAL will examine the URLs of incoming
  3209. # requests to determine if they match one of the entries in this list.
  3210. # If they do, then WebSEAL will examine the corresponding server response to
  3211. # determine if it contains authentication data.
  3212. #
  3213. # NOTE: If eai-auth is not 'none', there must be at least one entry in this list
  3214. #
  3215. # The URL string patterns are case-sensitive wild card patterns.
  3216. #
  3217. # Format for regular WebSEAL junctions is:
  3218. # trigger = <URL pattern of EAI server response>
  3219. #
  3220. # Format for Virtual Host junctions is:
  3221. # trigger = HTTP[S]://virtual-host-name[:port]/<URL pattern of EAI server response>
  3222. #
  3223. # For Virtual Host junctions to match a trigger they must also have the same
  3224. # protocol (HTTP[S] = TCP/SSL) and have the same virtual-host-name & port as
  3225. # the trigger. The virtual-host-name match is case-insensitive.
  3226. #
  3227. # Regular WebSEAL junction triggers are not used by Virtual Host junctions.
  3228. # Virtual Host junction triggers are not used by regular WebSEAL junctions.
  3229.  
  3230.  
  3231.  
  3232. [ssl-qop]
  3233. #----------------------
  3234. # SSL QUALITY OF PROTECTION MANAGEMENT
  3235. #----------------------
  3236.  
  3237. # Enable/Disable SSL Quality of Protection management
  3238. ssl-qop-mgmt = yes
  3239.  
  3240. # Legal cipher values for qop in the following stanzas are:
  3241. # NONE, ALL, NULL, DES-56, FIPS-DES-56, DES-168, FIPS-DES-168,
  3242. # RC2-40, RC2-128, RC4-40, RC4-56, RC4-128, AES-128, AES-256
  3243. #
  3244. # Specific cipher names can also be used. This can be useful when the qop
  3245. # cipher group aliases above do not include a required cipher. When a cipher
  3246. # is enabled it will be used with all enabled versions of SSL & TLS that
  3247. # support the cipher.
  3248. # The following is a list of available cipher names:
  3249. # SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_FIPS_WITH_DES_CBC_SHA,
  3250. # TLS_DHE_PSK_WITH_AES_128_CCM_8, TLS_DHE_PSK_WITH_AES_128_CCM,
  3251. # TLS_DHE_PSK_WITH_AES_256_CCM_8, TLS_DHE_PSK_WITH_AES_256_CCM,
  3252. # TLS_DHE_RSA_WITH_AES_128_CCM_8, TLS_DHE_RSA_WITH_AES_128_CCM,
  3253. # TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_CCM_8,
  3254. # TLS_DHE_RSA_WITH_AES_256_CCM, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
  3255. # TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
  3256. # TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
  3257. # TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
  3258. # TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
  3259. # TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
  3260. # TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
  3261. # TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
  3262. # TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
  3263. # TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_PSK_WITH_AES_128_CCM_8,
  3264. # TLS_PSK_WITH_AES_128_CCM, TLS_PSK_WITH_AES_256_CCM_8,
  3265. # TLS_PSK_WITH_AES_256_CCM, TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA,
  3266. # TLS_RSA_EXPORT1024_WITH_RC4_56_SHA, TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,
  3267. # TLS_RSA_EXPORT_WITH_RC4_40_MD5, TLS_RSA_WITH_3DES_EDE_CBC_SHA,
  3268. # TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA,
  3269. # TLS_RSA_WITH_AES_128_CCM_8, TLS_RSA_WITH_AES_128_CCM,
  3270. # TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256,
  3271. # TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CCM_8,
  3272. # TLS_RSA_WITH_AES_256_CCM, TLS_RSA_WITH_AES_256_GCM_SHA384,
  3273. # TLS_RSA_WITH_DES_CBC_SHA, TLS_RSA_WITH_NULL_MD5,
  3274. # TLS_RSA_WITH_NULL_NULL, TLS_RSA_WITH_NULL_SHA,
  3275. # TLS_RSA_WITH_RC4_128_MD5, TLS_RSA_WITH_RC4_128_SHA,
  3276. # TLS_RSA_WITH_NULL_SHA256, SSL_CK_RC4_128_WITH_MD5,
  3277. # SSL_CK_RC4_128_EXPORT40_WITH_MD5, SSL_CK_RC2_128_CBC_WITH_MD5,
  3278. # SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5, SSL_CK_DES_64_CBC_WITH_MD5,
  3279. # SSL_CK_DES_192_EDE3_CBC_WITH_MD5, TLS_ECDHE_ECDSA_WITH_NULL_SHA,
  3280. # TLS_ECDHE_RSA_WITH_NULL_SHA,
  3281. #
  3282. # Notes:
  3283. # - NONE = No SSL connection allowed.
  3284. # - NULL = Unencrypted SSL connection allowed.
  3285. # - ALL = All types of SSL connections allowed.
  3286. # - There maybe multiple cipher/MAC made available to the connection
  3287. # for a given qop cipher selection. These will still have the same
  3288. # encryption bit strength, just different MAC methods (SHA1 or MD5).
  3289. # - RC2-128 is only available with SSLv2. If it is the only cipher selection
  3290. # webseald will disable SSLv3 and TLSv1 for the affected connection.
  3291. # - NULL, FIPS-DES-56, FIPS-DES-168, RC4-56, AES-128, and AES-256 are
  3292. # only available with SSLv3 and TLSv1. If they are the only ciphers
  3293. # available to a given connection, SSLv2 will be disabled for the
  3294. # affected connection.
  3295. # - AES Support is determined automatically by GSKit based on
  3296. # the base-crypto-library setting. AES-128 and AES-256 are only
  3297. # available if AES Support is enabled by GSKit, else they will be
  3298. # ignored.
  3299. # - FIPS-DES-56 and FIPS-DES-168 are only available when
  3300. # fips-mode-processing is enabled (set to yes), otherwise they will
  3301. # be ignored.
  3302.  
  3303. # host ssl qop
  3304. [ssl-qop-mgmt-hosts]
  3305.  
  3306. # networks ssl qop
  3307. [ssl-qop-mgmt-networks]
  3308.  
  3309. # default ssl qop
  3310. [ssl-qop-mgmt-default]
  3311. default = AES-128
  3312. default = AES-256
  3313.  
  3314. [oauth]
  3315.  
  3316. # Enable authentication using Open Authorization (OAuth) mechanism.
  3317. # One of <http, https, both, none>
  3318. #
  3319. # The OAuth authentication mechanism should be considered only as part of a
  3320. # Mobile scenario, where a session can be established based on the Bearer
  3321. # token in the Authorization Header.
  3322. oauth-auth = none
  3323.  
  3324. # The Provider ID of the default OAuth federation. If a Provider ID is not
  3325. # provided in the request using the fed-id-param option, this provider ID will
  3326. # be used for OAuth requests. The Provider ID of a federation can be found on
  3327. # the federation properties page.
  3328. default-fed-id = https://localhost/sps/oauthfed/oauth10
  3329.  
  3330. # The name of the request parameter that can be used to override the
  3331. # default-fed-id option configured above. By deleting this configuration
  3332. # option, you can enforce that the default fed id is always used.
  3333. fed-id-param = FederationId
  3334.  
  3335. # The name of the TFIM cluster which houses this OAuth service. There should
  3336. # also be a corresponding [tfim-cluster:<cluster>] stanza which contains the
  3337. # definition of the cluster.
  3338. cluster-name = oauth-cluster
  3339.  
  3340. # The name of the attribute within the RSTR response whose value is to be used
  3341. # as the user identity when creating the session credential.
  3342. user-identity-attribute = username
  3343.  
  3344. # By default the OAuth scope attribute is provided as a single comma separated
  3345. # string. By enabling this configuration option the scope attribute will instead
  3346. # be provided as a multivalue attribute.
  3347. multivalue-scope = false
  3348.  
  3349.  
  3350. # The following configurations can be used to authenticate the user with an
  3351. # alternative method. This allows external users to use oauth-auth.
  3352.  
  3353. # The name of the attribute within the RSTR response which contains a
  3354. # credential PAC. A PAC will take precedence over all other authentication data.
  3355. # Remove this configuration entry if you do not want to allow authentication to
  3356. # occur via a PAC.
  3357. pac-attribute = am-pac
  3358.  
  3359. # The name of the attribute within the RSTR response whose value is to be used
  3360. # as the user identity when creating the session credential. The supplied user
  3361. # identity is not expected to exist within the ISAM user registry. Remove this
  3362. # configuration entry if you do not want to allow authentication using an
  3363. # external user identity.
  3364. external-user-identity-attribute = am-ext-user-id
  3365.  
  3366. # The name of the attribute within the RSTR response which will contain group
  3367. # information for the external user.
  3368. external-group-attribute = am-ext-user-groups
  3369.  
  3370. # Should we continue processing the request, and try additional authentication
  3371. # mechanisms, if an invalid authorization header has been supplied with the request.
  3372. continue-on-auth-failure = false
  3373.  
  3374. [tfim-cluster:oauth-cluster]
  3375.  
  3376. #
  3377. # This stanza contains definitions for a particular cluster of TFIM
  3378. # servers.
  3379. #
  3380.  
  3381. #
  3382. # A specification for the server which is used when communicating with a
  3383. # single TFIM server which is a member of this cluster. Values for this
  3384. # entry are defined as follows:
  3385. #
  3386. # {[0-9],}<URL>
  3387. #
  3388. # Where the first digit (if present) represents the priority of the server
  3389. # within the cluster (9 being the highest, 0 being lowest). If the priority
  3390. # is not specified, a priority of 9 is assumed. The <URL> can be any
  3391. # well-formed HTTP or HTTPS URL.
  3392. #
  3393. # Multiple server entries can be specified for failover and load balancing
  3394. # purposes. The complete set of these server entries defines the
  3395. # membership of the cluster for failover and load balancing.
  3396. #
  3397. # server = 9,http://tfim.example.com/TrustServerWST13/services/RequestSecurityToken
  3398.  
  3399.  
  3400. #
  3401. # The maximum number of cached handles, used when communicating with TFIM.
  3402. #
  3403. handle-pool-size = 10
  3404.  
  3405. #
  3406. # The length of time, in seconds, before an idle handle will be removed
  3407. # from the handle pool cache.
  3408. #
  3409. handle-idle-timeout = 240
  3410.  
  3411. #
  3412. # The length of time, in seconds, to wait for a response from TFIM.
  3413. #
  3414. timeout = 240
  3415.  
  3416. #
  3417. # The following configuration entries are optional and can be used if the TFIM
  3418. # server has been configured to require basic authentication. If these
  3419. # entries are left blank no basic authentication header will be provided when
  3420. # communicating with the TFIM server.
  3421. #
  3422. #
  3423. # The name of the user for the basic authentication header.
  3424. #
  3425. basic-auth-user =
  3426.  
  3427. #
  3428. # The following SSL entries are optional and are only required if:
  3429. # 1. At least one server entry indicates that SSL is to be used (i.e.
  3430. # starts with https:)
  3431. # 2. A certificate is required other than that which is used by this server
  3432. # when communicating with the policy server (details of the
  3433. # default certificate can be found in the [ssl] stanza of this
  3434. # configuration file.
  3435. #
  3436. # If these entries are required and are not found within this stanza, the
  3437. # default [ssl] stanza will be searched.
  3438. #
  3439. #
  3440. # The name of the key database file which houses the client certificate to be
  3441. # used.
  3442. #
  3443. # ssl-keyfile =
  3444.  
  3445. #
  3446. # The name of the password stash file for the key database file.
  3447. #
  3448. # ssl-keyfile-stash =
  3449.  
  3450. #
  3451. # The label of the client certificate within the key database.
  3452. #
  3453. # ssl-keyfile-label =
  3454.  
  3455. #
  3456. # This configuration entry specifies the DN of the server (obtained from the
  3457. # server SSL certificate) which will be accepted. If no entry is configured
  3458. # all DN's will be considered to be valid. Multiple DN's can be specified by
  3459. # including multiple configuration entries of this name.
  3460. #
  3461. # ssl-valid-server-dn =
  3462.  
  3463. #
  3464. # The entry controls whether FIPS communication is enabled with TFIM or
  3465. # not. If no configuration entry is present the global FIPS setting (as
  3466. # determined by the TAM policy server) will take effect.
  3467. #
  3468. # ssl-fips-enabled =
  3469.  
  3470.  
  3471.  
  3472. ##################################
  3473. # SESSION
  3474. ##################################
  3475. [session]
  3476.  
  3477. #----------------------
  3478. # SESSION CACHE SETTINGS
  3479. #----------------------
  3480.  
  3481. # The maximum number of concurrent entries in the credential cache
  3482. # This corresponds to the number of concurrent logins. The value
  3483. # WebSEAL actually uses might be slightly more than what is specified here.
  3484. # Refer to the WebSEAL Administration Guide for details. To customise this
  3485. # value for authenticated or unauthenticated sessions simply add an
  3486. # additional configuration entry, prefixed by 'auth' or 'unauth', e.g.
  3487. # unauth-max-entries = 1024
  3488. max-entries = 4096
  3489.  
  3490. # Maximum lifetime (in seconds) for an entry in the credential cache
  3491. # Setting this to zero allows entries the cache to fill without expiry until the
  3492. # cache contains the number of entries specified by max-entries. After that
  3493. # point, entries are expired according to a least recently used algorithm.
  3494. # To customise this value for authenticated or unauthenticated sessions
  3495. # simply add an additional configuration entry, prefixed by 'auth' or
  3496. # 'unauth', e.g.
  3497. # unauth-timeout = 600
  3498.  
  3499. timeout = 3600
  3500.  
  3501. # Lifetime (in seconds) of inactive entries in the credential cache.
  3502. # To disable, set to 0. To customise this value for authenticated or
  3503. # unauthenticated sessions simply add an additional configuration entry,
  3504. # prefixed by 'auth' or 'unauth', e.g.
  3505. # unauth-inactive-timeout = 300
  3506.  
  3507. inactive-timeout = 600
  3508.  
  3509. # Use the temp-session-max-lifetime entry to set the maximum lifetime (in seconds)
  3510. # of entries in the temporary session cache.
  3511. #
  3512. # The temporary session cache is a short-lived session cache. WebSEAL
  3513. # uses this cache to create an intermediate session mapping when switching between
  3514. # different client contexts that share the same persistent cookie jar. For example,
  3515. # when sharing a session between Internet Explorer and Microsoft Office
  3516. # applications.
  3517. #
  3518. # To disable the use of the temporary session cache, set the value of this entry to 0.
  3519. # A value of 0 effectively disables session sharing between different client contexts.
  3520. temp-session-max-lifetime = 0
  3521.  
  3522. # The temp-session-one-time-use configuration entry controls whether an entry
  3523. # which is in the temporary session cache can be accessed a single time only,
  3524. # or whether it can be accessed multiple times. If this configuration entry
  3525. # is set to false the session will need to time out (based on the
  3526. # temp-session-max-lifetime configuration entry) before the session entry is
  3527. # invalidated and removed from the cache.
  3528. temp-session-one-time-use = false
  3529.  
  3530. # The temp-session-cookie-name entry is used to identify a temporary session cookie
  3531. # created for allowing session sharing between different client contexts.
  3532. #
  3533. # This temporary cookie name will be set as part of the initial response to a
  3534. # /pkmstempsession management page request and read subsequently off the next
  3535. # request coming into WebSEAL.
  3536. #
  3537. # This entry should be used in conjunction with a positive value in temp-session-max-lifetime
  3538. # entry described above.
  3539. temp-session-cookie-name = PD-H-TMP-SESSION-ID
  3540.  
  3541. # The temp-session-overrides-unauth-session configuration entry is used to
  3542. # control the precedence if both a temporary session cookie and a 'real'
  3543. # session cookie, is provided in a request. A value of yes would mean that
  3544. # a temporary session would take precedence over an existing unauthenticated
  3545. # session (but not an authenticated session), and a value of no would mean
  3546. # that the temporary session cookie would be ignored.
  3547. temp-session-overrides-unauth-session = no
  3548.  
  3549. #----------------------
  3550. # SSL CLIENT SESSIONS
  3551. #----------------------
  3552.  
  3553. # Use the SSL ID to maintain a user's HTTPS login session.
  3554. ssl-id-sessions = no
  3555.  
  3556. #----------------------
  3557. # SHARING SESSIONS
  3558. #----------------------
  3559.  
  3560. # Use the same session for SSL and HTTP clients. This means that a client
  3561. # having authenticated via HTTP will still be authenticated when connecting
  3562. # via HTTPS and vice versa.
  3563. #
  3564. # A consequence of setting this to 'yes' is that the ssl-id-sessions
  3565. # parameter will be ignored, because HTTP clients cannot use the SSL ID
  3566. # to maintain sessions.
  3567. use-same-session = no
  3568.  
  3569. # Enable a cookie based session to be shared across all standard and virtual
  3570. # host junctions on a single WebSEAL instance. This is achieved through
  3571. # enabling the WebSEAL instance to store a single session key as an
  3572. # independent value in a multi-valued domain cookie, indexed by the instance
  3573. # name. The domain cookie itself is shared across all participating WebSEAL
  3574. # instances, but the session values are specific to each instance.
  3575. #
  3576. # If WebSEAL exists in an environment where the DSC already handles single
  3577. # sign-on across domains, do not enable this configuration item.
  3578. # shared-domain-cookie = yes
  3579.  
  3580. #----------------------
  3581. # SESSION COOKIE NAMES
  3582. #----------------------
  3583.  
  3584. # These parameters control the names of the cookies WebSEAL will use for
  3585. # session IDs. The names of the cookies should be alphanumeric, and each
  3586. # cookie must have a different name. To use the same cookie for both TCP
  3587. # and SSL connections use the [session]use-same-session configuration
  3588. # option.
  3589. tcp-session-cookie-name = PD-H-SESSION-ID
  3590. ssl-session-cookie-name = PD-S-SESSION-ID
  3591.  
  3592. #----------------------
  3593. # SENDING SESSION COOKIES
  3594. #----------------------
  3595.  
  3596. # Send the WebSEAL cookies with every response. Use in environments where:
  3597. # 1) Cookies are used to maintain sessions with clients
  3598. # 2) Applications place many in-memory cookies per domain on client systems.
  3599. # This helps ensure that the WebSEAL cookies remain in the browser memory in
  3600. # such environments.
  3601. resend-webseal-cookies = no
  3602.  
  3603. # Remove the WebSEAL session cookie on logout
  3604. logout-remove-cookie = no
  3605.  
  3606. # Should the original session cookie be sent to junctioned Web servers along
  3607. # with the current session cookie? This configuration entry will only
  3608. # take effect if the current session cookie is being sent down the
  3609. # junction, as defined by the '-k' junction create flag. The name used for
  3610. # this session cookie will be based on the name of the current session cookie,
  3611. # appended with '_2'. For example, if tcp-session-cookie-name is set as
  3612. # 'PD-H-SESSION-ID', the name of the original session cookie will be
  3613. # 'PD-H-SESSION-ID_2'.
  3614. send-constant-sess = no
  3615.  
  3616. #----------------------
  3617. # USER SESSION IDS
  3618. #----------------------
  3619. # Enable/disable the creation and handling of user session ids.
  3620. user-session-ids = no
  3621.  
  3622. # Include the replica set name in the user session ID. If set to "yes"
  3623. # then the user-session-id will include the replica set. If set to "no"
  3624. # then WebSEAL will not include the replica set in the user-session-id,
  3625. # and will assume that all user-sessions specified in the "terminate session"
  3626. # command belong to the standard junction replica set.
  3627. user-session-ids-include-replica-set = yes
  3628.  
  3629. #----------------------
  3630. # DISTRIBUTED SESSION MANAGEMENT
  3631. #----------------------
  3632. # These entries together with the "dsess" stanza control how WebSEAL uses the
  3633. # DSC to store and manage sessions.
  3634.  
  3635. # Enable/disable use of the DSC. If this is set to yes the "dsess" stanza
  3636. # must have information about how to communicate with the DSC.
  3637. dsess-enabled = no
  3638.  
  3639. # If set to "yes", then WebSEAL will use the DSC to make sure that users
  3640. # do not have more sessions than the max-concurrent-web-sessions policy
  3641. # allows. If set to "no" WebSEAL will not enforce the policy. This
  3642. # entry is ignored unless WebSEAL is using the DSC for session storage.
  3643. enforce-max-sessions-policy = yes
  3644.  
  3645. # If set to "yes" then WebSEAL will prompt users before automatically
  3646. # displacing old sessions using the same user-id. If set to "no" then
  3647. # WebSEAL will automatically log out the old sessions. This entry
  3648. # only applies when the max-concurrent-web-sessions policy for the user
  3649. # is set to 'displace'.
  3650. prompt-for-displacement = yes
  3651.  
  3652. # The frequency with which WebSEAL will update the session last
  3653. # access time at the DSC. This value is only used if reauth-for-inactive
  3654. # is set to yes. Smaller values offer more accurate inactivity
  3655. # timeout tracking, at the expense of sending updates to the DSC
  3656. # more frequently. Values of less than 1 second are not permitted.
  3657. #
  3658. # Example: if inactive-timeout is 600 seconds and
  3659. # dsess-last-access-update-interval is 60 seconds, the user's session may
  3660. # be flagged as 'inactive' at the DSC anywhere between 540 seconds and
  3661. # 600 seconds after their last access to the WebSEAL server.
  3662. dsess-last-access-update-interval = 60
  3663.  
  3664. # The DSC replica set to use for sessions created when users access standard
  3665. # WebSEAL junctions. Virtual host junctions will use the replica set
  3666. # specified with the "-z" option when the virtual host junction is
  3667. # created.
  3668. standard-junction-replica-set = default
  3669.  
  3670. # Require Multiplexing Proxy Agent for HTTP Header Session Keys and
  3671. # HTTP Header authentication tokens.
  3672. #
  3673. # The use of an HTTP header as a session identifier or as an authentication
  3674. # token carries a measure of risk that the header can be spoofed or stolen.
  3675. # It is strongly recommended that headers only be accepted when proxied
  3676. # through an authenticated channel. A 'yes' setting means that HTTP headers
  3677. # will not be valid session keys or authentication tokens unless received via
  3678. # an MPA. Please see the WebSEAL Administration Guide for more details
  3679. # regarding MPAs.
  3680. require-mpa = yes
  3681.  
  3682. # Should sessions be established for access to unprotected resources? This
  3683. # configuration item is useful when a consistent session identifier is
  3684. # required for clients as they transition from unauthenticated to
  3685. # authenticated.
  3686. create-unauth-sessions = no
  3687.  
  3688. #
  3689. # In some circumstances, you might not want the requests for a particular
  3690. # resource to affect the inactivity timeout for a session. For example, you
  3691. # might want to preserve the inactivity timeout when a server is polled by
  3692. # an Ajax script running in the background of a client browser.
  3693. #
  3694. # The following configuration entry can be used to designate the resources
  3695. # which, when accessed, should not impact the inactivity timeout for the
  3696. # session.
  3697. #
  3698. # A comparison will be performed against either the full HTTP request line or
  3699. # the decoded URI (controlled by the preserve-inactivity-timeout-match-uri
  3700. # configuration entry). If a match is found the inactivity timeout for the
  3701. # session will not be affected by the request.
  3702. #
  3703. # If a pattern has been specified using this configuration entry the legacy
  3704. # preserve-inactivity-time POP functionality will be disabled.
  3705. #
  3706. # Multiple patterns can be specified by including multiple configuration entries
  3707. # of the same name.
  3708. #
  3709. # You also have the option of matching a request using a host header, useful
  3710. # when selectively enabling this functionality for a particular virtual host
  3711. # junction. To selectively match an entry based on a particular host header
  3712. # the configuration entry should be prepended with the string: [<host>].
  3713. #
  3714. # Example:
  3715. # preserve-inactivity-timeout = /jct/robot/*
  3716. # preserve-inactivity-timeout = [www.ibm.com]/robot/*
  3717. #
  3718. preserve-inactivity-timeout =
  3719.  
  3720. #
  3721. # The following configuration entry is used to control whether the
  3722. # patterns specified by the preserve-inactivity-timeout configuration entry
  3723. # are matched against the decoded URI from the request, or against the full
  3724. # request line. The match will take place against the decoded URI if this
  3725. # configuration entry is set to true, otherwise the match will take place
  3726. # against the full request line.
  3727. #
  3728. preserve-inactivity-timeout-match-uri = true
  3729.  
  3730. #
  3731. # The following configuration entry is used to designate the
  3732. # client identifier for the session. This identifier will be
  3733. # added to the credential as the 'client_identifier' attribute
  3734. # and will be validated on subsequent requests to ensure that
  3735. # the client does not change.
  3736. #
  3737. # The supported options for this configuration entry include:
  3738. # CLIENT_IP: The client IP address from the network
  3739. # connection will be used as the identifier.
  3740. # HTTPHDR{<name>}: The contents of the HTTP header, identified
  3741. # by '<name>', will be used as the client
  3742. # identifier. If the HTTP header is missing on
  3743. # the initial request no identifier will be added
  3744. # for the session. For example:
  3745. # HTTPHDR{X-Forwarded-For}
  3746. #
  3747. # Please note that if failover cookies are used the 'client_identifier'
  3748. # credential attribute should be added to the
  3749. # [failover-add-attributes] and [failover-restore-attributes] stanzas
  3750. # so that the client identifier can persist across a failover event.
  3751. #
  3752.  
  3753. client-identifier =
  3754.  
  3755. [session-http-headers]
  3756. #----------------------
  3757. # HTTP HEADER SESSION KEYS
  3758. #----------------------
  3759. #
  3760. # List any HTTP headers which will contain a session key on a per-transport
  3761. # basis. The same header can be listed for both transports if desired.
  3762. #
  3763. # Only the first matching header found in a request will be used.
  3764. #
  3765. # If ssl-id-sessions = yes, then this stanza will be ignored.
  3766. # The exception to this is if MPA support is enabled.
  3767. #
  3768. # WebSEAL will first look for a session cookie before continuing to look
  3769. # for HTTP headers from this list.
  3770. #
  3771. # The use of http headers as session keys is affected by the setting of
  3772. # require-mpa, see the comments above the require-mpa entry for more
  3773. # information.
  3774. #
  3775. # This list should contain no more than 20 entries per transport.
  3776. # Do not include the colon (:)
  3777. #
  3778. # Format is one of:
  3779. # <header> = http
  3780. # <header> = https
  3781.  
  3782. ##################################
  3783. # REPLICA SETS
  3784. ##################################
  3785. [replica-sets]
  3786. # If WebSEAL is configured to use the DSC for session storage the
  3787. # WebSEAL server will join each of the replica sets listed in this
  3788. # stanza. The entries listed here must be replica sets configured
  3789. # on the DSC.
  3790.  
  3791. # Example entries:
  3792. # replica-set = <replica-set-one>
  3793. # replica-set = <replica-set-two>
  3794.  
  3795. ##################################
  3796. # DISTRIBUTED SESSIONS
  3797. ##################################
  3798. [dsess]
  3799.  
  3800. # The maximum number of session ID's that are pre-allocated within the replica
  3801. # set. This configuration parameter will not affect WebSEAL performance
  3802. # and should not be modified.
  3803.  
  3804. dsess-sess-id-pool-size = 125
  3805.  
  3806. #
  3807. # The name of the DSC cluster to which this DSC server belongs.
  3808. # This field must be defined and reference an existing dsess-cluster stanza
  3809. # qualified by the value of this entry.
  3810. #
  3811. #
  3812. # dsess-cluster-name = dsess
  3813.  
  3814. [dsess-cluster]
  3815.  
  3816. #
  3817. # The dsess-cluster stanza contains all of the defaults for a definition of
  3818. # a cluster of DSC (distributed session) servers.
  3819. #
  3820.  
  3821. #
  3822. # A specification for a single DSC server which is a member of this
  3823. # cluster. Values for this entry are defined as follows:
  3824. #
  3825. # {[0-9],}<URL>
  3826. #
  3827. # Where the first digit (if present) represents the priority of the server
  3828. # within the cluster (9 being the highest, 0 being lowest). If the priority
  3829. # is not specified, a priority of 9 is assumed. The <URL> can be any
  3830. # well-formed HTTP or HTTPS URL.
  3831. #
  3832. # Multiple server entries can be specified for failover and load balancing
  3833. # purposes. The complete set of these server entries defines the
  3834. # membership of the cluster.
  3835. #
  3836. # server = 9,http://sms.example.com/DSess/services/DSess
  3837.  
  3838.  
  3839. #
  3840. # The length of time to maintain a connection to the web service while
  3841. # waiting for session broadcast events.
  3842. #
  3843.  
  3844. response-by = 60
  3845.  
  3846. #
  3847. # The maximum number of cached handles, used when communicating with the DSC.
  3848. #
  3849.  
  3850. handle-pool-size = 10
  3851.  
  3852. #
  3853. # The length of time, in seconds, before an idle handle will be removed
  3854. # from the handle pool cache.
  3855. # It should not be larger than the HTTP Transport chain persistent timeout
  3856. # configured on the server which is running the DSC.
  3857. #
  3858.  
  3859. handle-idle-timeout = 30
  3860.  
  3861. #
  3862. # The length of time, in seconds, to wait for a response from the DSC.
  3863. #
  3864.  
  3865. timeout = 30
  3866.  
  3867. #
  3868. # The following configuration entries are optional and can be used if the DSC
  3869. # has been configured to require basic authentication. If these entries are
  3870. # left blank no basic authentication header will be provided when communicating
  3871. # with the DSC.
  3872. #
  3873. #
  3874. # The name of the user for the basic authentication header.
  3875. #
  3876. # basic-auth-user = <user>
  3877. #
  3878. # The password to be used for the basic authentication header.
  3879. #
  3880. # basic-auth-passwd = <user>
  3881. #
  3882. # The following SSL entries are optional and are only required if:
  3883. # 1. At least one server entry indicates that SSL is to be used (i.e.
  3884. # starts with https:)
  3885. # 2. A certificate is required other than that which is used by this server
  3886. # when communicating with the policy server (details of the
  3887. # default certificate can be found in the [ssl] stanza of this
  3888. # configuration file.
  3889. #
  3890. # If these entries are required and not found within the [dsess-cluster]
  3891. # stanza, the default [ssl] stanza will be searched.
  3892. #
  3893. #
  3894. # The name of the key database file which houses the client certificate to be
  3895. # used.
  3896. #
  3897.  
  3898. # The following files are currently available for this configuration entry:
  3899. # - pdsrv.kdb
  3900. # - lmi_trust_store.kdb
  3901. # - rt_profile_keys.kdb
  3902. # - embedded_ldap_keys.kdb
  3903.  
  3904. ssl-keyfile =
  3905.  
  3906. #
  3907. # The name of the password stash file for the key database file.
  3908. #
  3909.  
  3910. # The following files are currently available for this configuration entry:
  3911. # - rt_profile_keys.sth
  3912. # - lmi_trust_store.sth
  3913. # - embedded_ldap_keys.sth
  3914. # - pdsrv.sth
  3915.  
  3916. ssl-keyfile-stash =
  3917.  
  3918. #
  3919. # The label of the client certificate within the key database.
  3920. #
  3921. ssl-keyfile-label =
  3922.  
  3923. #
  3924. # This configuration entry specifies the DN of the server (obtained from the
  3925. # server SSL certificate) which will be accepted. If no entry is configured
  3926. # all DN's will be considered to be valid. Multiple DN's can be specified by
  3927. # including multiple configuration entries of this name.
  3928. #
  3929. # ssl-valid-server-dn =
  3930.  
  3931. #
  3932. # The entry controls whether FIPS communication is enabled with the DSC or
  3933. # not. If no configuration entry is present the global FIPS setting (as
  3934. # determined by the TAM policy server) will take effect.
  3935. #
  3936. # ssl-fips-enabled =
  3937.  
  3938. # Configure NIST SP800-131A compliance mode. This will have the affect of:
  3939. # - enabling FIPS mode processing (over-riding the value of the
  3940. # ssl-fips-enabled configuration entry);
  3941. # - enabling TLS V1.2;
  3942. # - enabling the appropriate signature algorithms;
  3943. # - setting the minimum RSA key size to 2048 bytes.
  3944. #
  3945. # If no configuration entry is present the global NIST setting (as found in
  3946. # the [ssl] stanza) will be used.
  3947. #
  3948. # ssl-nist-compliance = no
  3949.  
  3950. #
  3951. # Specify any additional GSKit attributes which should be used when
  3952. # initializing an SSL connection with the DSC. A complete list of
  3953. # the available attributes is included in the GSKit SSL API documentation.
  3954. #
  3955. # The configuration entry may be specified multiple times, one for each
  3956. # GSKit attribute. The entry should be of the format:
  3957. # gsk-attr-name = <type>:<id>:<value>
  3958. #
  3959. # - where <type> is one of 'enum', 'string', 'number'
  3960. # and <id> corresponds to the identity associated with a GSKit attribute
  3961. # (e.g. GSK_HTTP_PROXY_SERVER_NAME = 225)
  3962. #
  3963. # An example configuration could be:
  3964. # gsk-attr-name = string:225:proxy.ibm.com
  3965. #
  3966.  
  3967.  
  3968. [dsess-cluster:dsess]
  3969.  
  3970. #
  3971. # This stanza will define the cluster of DSC servers associated with the
  3972. # configuration defined in the default [dsess] stanza (above).
  3973. #
  3974. # See the [dsess-cluster] stanza above for a definition of valid entries
  3975. # and their associated values.
  3976. #
  3977.  
  3978.  
  3979. ##################################
  3980. # SESSION COOKIE DOMAINS
  3981. ##################################
  3982. [session-cookie-domains]
  3983.  
  3984. # Normally WebSEAL session cookies are 'host' cookies which browsers
  3985. # only return to the host that originally set them. This stanza
  3986. # can be used to configure 'domain' session cookies that may be sent
  3987. # to any host in a particular DNS domain. Review the WebSEAL
  3988. # documentation and understand the security implications of domain
  3989. # session cookies before enabling any entries in this stanza.
  3990.  
  3991. # Format is:
  3992. # domain = example.com
  3993. # domain = otherdomain.com
  3994. # ...
  3995.  
  3996.  
  3997.  
  3998. ##################################
  3999. # CONTENT
  4000. ##################################
  4001. [content]
  4002.  
  4003. # The utf8-template-macros-enabled option controls how standard WebSEAL files,
  4004. # such as login.html, have data inserted into them when %MACRO% strings are
  4005. # encountered. If you have modified your WebSEAL html charset value to be the
  4006. # local code page, and not UTF-8, then set this option to "no". This affects
  4007. # files in the error-dir and mgt-pages-root directories, listed below.
  4008. utf8-template-macros-enabled = yes
  4009.  
  4010. #----------------------
  4011. # ACCOUNT MANAGEMENT PAGES
  4012. #----------------------
  4013. [acnt-mgt]
  4014.  
  4015. # Standard login form
  4016. login = login.html
  4017.  
  4018. # Page displayed after successful login
  4019. login-success = login_success.html
  4020.  
  4021. # Page displayed after successful logout
  4022. logout = logout.html
  4023.  
  4024. # Page displayed if user authentication failed due to a locked account
  4025. account-locked = acct_locked.html
  4026.  
  4027. # Page displayed if user authentication failed due to the account being
  4028. # inactivated by the underlying registry policy, rather than TAM policy.
  4029. account-inactivated = acct_locked.html
  4030.  
  4031. # Page displayed if user authentication failed due to an expired password
  4032. passwd-expired = passwd_exp.html
  4033.  
  4034. # Page displayed if user authentication warns the password is soon to expire
  4035. passwd-warn = passwd_warn.html
  4036.  
  4037. # Page displayed if warning password change request failed
  4038. passwd-warn-failure = passwd_warn.html
  4039.  
  4040. # Change password form
  4041. passwd-change = passwd.html
  4042.  
  4043. # Page displayed if password change request was successful
  4044. passwd-change-success = passwd_rep.html
  4045.  
  4046. # Page displayed if password change request failed
  4047. passwd-change-failure = passwd.html
  4048.  
  4049. # Page containing links to valid administration pages
  4050. help = help.html
  4051.  
  4052. # Token login form
  4053. token-login = tokenlogin.html
  4054.  
  4055. # Next-token form
  4056. next-token = nexttoken.html
  4057.  
  4058. # Certificate login form.
  4059. # This is only used if accept-client-certs = prompt_as_needed.
  4060. certificate-login = certlogin.html
  4061.  
  4062. # Step-up authentication login form
  4063. stepup-login = stepuplogin.html
  4064.  
  4065. # Switch user management form
  4066. switch-user = switchuser.html
  4067.  
  4068. # Page displayed if a client fails to authenticate with
  4069. # a certificate and certificates are necessary.
  4070. cert-failure = certfailure.html
  4071.  
  4072. # Page displayed if a client attempts to step up to certificates over http
  4073. cert-stepup-http = certstepuphttp.html
  4074.  
  4075. # Page displayed when a user has too many concurrent sessions and
  4076. # must either cancel their new login or terminate the other sessions.
  4077. too-many-sessions = too_many_sessions.html
  4078.  
  4079. # Page displayed to handle HTML redirections.
  4080. html-redirect = redirect.html
  4081.  
  4082. # Page displayed if a redirect is not supplied to the pkmstempsession
  4083. # resource.
  4084. temp-cache-response = temp_cache_response.html
  4085.  
  4086. #-----------------------------
  4087. # ACCOUNT EXPIRY NOTIFICATION
  4088. #-----------------------------
  4089. # The following configuration option will determine whether a user with
  4090. # an invalid/expired account will be notified as such on an attempted login,
  4091. # or if he/she will receive the same message as if invalid authentication
  4092. # information (i.e. an invalid username, password, or client certificate)
  4093. # had been submitted.
  4094. account-expiry-notification = no
  4095.  
  4096. #----------------------
  4097. # AUTHORIZATION ERRORS
  4098. #----------------------
  4099.  
  4100. # By default, WebSEAL will return the standard 'Forbidden' page for
  4101. # all authorization failures.
  4102.  
  4103. # If client-notify-tod = yes, clients failing a time-of-day
  4104. # POP access check will be sent a specific error page informing them
  4105. # of the reason for their authorization failure.
  4106. client-notify-tod = no
  4107.  
  4108. #---------------------
  4109. # Change Password Authentication
  4110. #---------------------
  4111. # Enable this option to allow users to authenticate when changing a password.
  4112. # If a user's password is expired, and this option is on, then WebSEAL will
  4113. # authenticate the user with the expired password, change the password,
  4114. # and ensure that the user remains authenticated. This is helpful in failover
  4115. # situations where the user may be served the password change form from one
  4116. # WebSEAL replica, but the form posts to another replica where the user's
  4117. # session does not exist.
  4118. change-password-auth = no
  4119.  
  4120. #----------------------
  4121. # AUTOMATIC REDIRECT
  4122. #----------------------
  4123. # Page to which users are automatically redirected after completing a successful
  4124. # authentication. The configured URL can contain special macro's which will
  4125. # allow dynamic substitution of information from WebSEAL.
  4126. #
  4127. # The supported macro's include:
  4128. # %AUTHNLEVEL% Level at which the session is currently authenticated.
  4129. # %HOSTNAME% Fully qualified host name.
  4130. # %PROTOCOL% The client connection protocol used. Can be HTTP or HTTPS.
  4131. # %URL% The original URL requested by the client.
  4132. # %USERNAME% The name of the logged in user.
  4133. # %HTTPHDR{<name>}% The value of the specified HTTP header.
  4134. # %CREDATTR{<name>}% The value of the specified credential attribute.
  4135. #
  4136. # The format can either be an absolute URL or server relative URL and can
  4137. # include macro information as listed above:
  4138. # login-redirect-page = http://www.ibm.com/
  4139. # login-redirect-page = /jct/page.html
  4140. # login-redirect-page = /jct/page.html?url=%URL%&hdr=%HTTPHDR{Host}%
  4141.  
  4142. #--------------------------
  4143. # HTML REDIRECTION
  4144. #--------------------------
  4145. # Enable this option to use HTML to handle redirections.
  4146. #
  4147. # WebSEAL typically provides a 302 redirection in cases such as when a user
  4148. # successfully authenticates. Many AJAX applications do not behave correctly
  4149. # when this happens as any HTTP fragments are lost.
  4150. #
  4151. # Enabling this configuration item will cause WebSEAL to send a 200
  4152. # response to the client instead of a 302. The page which contains the
  4153. # HTML redirection is defined by the html-redirect configuration entry
  4154. # within this stanza.
  4155. #
  4156. # This configuration item cannot be used in conjunction with
  4157. # login-redirect-page.
  4158. enable-html-redirect = no
  4159.  
  4160. #--------------------------
  4161. # LOCAL RESPONSE REDIRECTS
  4162. #--------------------------
  4163. # Enable/disable sending a redirect instead of serving management or error
  4164. # pages from the local system.
  4165. #
  4166. # The local-response-redirect-uri parameter must be set in order for this
  4167. # option to function.
  4168. #
  4169. # This configuration item may be customized for a particular junction
  4170. # by adding the adjusted configuration item to a [acnt-mgt:{jct_id}] stanza,
  4171. # where '{jct-id}' refers to the junction point for a standard junction
  4172. # (include the leading '/'), or the virtual host label for a virtual host
  4173. # junction.
  4174. enable-local-response-redirect = no
  4175.  
  4176. #---------------------------
  4177. # PKMSLOGOUT FILENAME
  4178. #---------------------------
  4179. # Set this parameter to 'yes' to allow the specification of a custom
  4180. # response file to be displayed to users upon logging out in a query string
  4181. # appended to the pkmslogout URL. e.g. /pkmslogout?filename=<name>
  4182. # By default, this parameter is set to 'no' to cause any such query string to be
  4183. # ignored.
  4184. use-filename-for-pkmslogout = no
  4185.  
  4186. # The following option can be disabled to loosen the restrictions normally
  4187. # enforced on the name of the /pkmslogout custom response file. When set to
  4188. # 'no' only '/', '\', characters outside of the ASCII range 0x20 - 0x7E, and
  4189. # filenames that begin with '.' will be disallowed.
  4190. use-restrictive-logout-filenames = yes
  4191.  
  4192. #-----------------------------
  4193. # ALLOW UNAUTHENTICATED LOGOUT
  4194. #-----------------------------
  4195. # Set this parameter to 'yes' to allow unauthenticated users to be able
  4196. # to request the pkmslogout resource. If this parameter is set to 'no'
  4197. # an unauthenticated user will be requested to authenticate before the
  4198. # pkmslogout resource is returned.
  4199. allow-unauthenticated-logout = no
  4200.  
  4201. # WebSEAL can be enabled to recognise a warning from LDAP user registries
  4202. # that indicates the password will expire soon. The amount of time left is
  4203. # placed into the credential as an attribute. If this option is enabled
  4204. # WebSEAL will look for the expire attribute and, if detected, will present
  4205. # an optional password change form to the user after a successful login. The
  4206. # [ldap] option, enhanced-pwd-policy, must also be enabled for this to operate.
  4207. enable-passwd-warn = no
  4208.  
  4209. # The following option can be used to insert custom headers whenever
  4210. # WebSEAL returns a custom response to the client. The format of the
  4211. # configuration entry should be:
  4212. # http-rsp-header = <header-name>:<macro>
  4213. #
  4214. # Where:
  4215. # <header-name> is the name of the header which will hold the value;
  4216. # <macro> is the type of value which is to be inserted, one
  4217. # of either TAM_OP, AUTHNLEVEL, ERROR_CODE, ERROR_TEXT,
  4218. # CREDATTR{<name>}, USERNAME, TEXT{<value>}.
  4219. #
  4220. # As an example, to include the TAM error code in a response header named
  4221. # tam-error-code:
  4222. # http-rsp-header = tam-error-code:ERROR_CODE
  4223. #
  4224. # To include a static header in a response header name X-Frame-Options:
  4225. # http-rsp-header = x-frame-options:TEXT{DENY}
  4226. #
  4227. # The configuration entry may be specified multiple times, one for each
  4228. # header which is be included in the response.
  4229. #
  4230. http-rsp-header = x-frame-options:TEXT{DENY}
  4231. http-rsp-header = content-security-policy:TEXT{frame-ancestors 'none'}
  4232. http-rsp-header = x-content-type-options:TEXT{nosniff}
  4233. http-rsp-header = x-xss-protection:TEXT{1}
  4234.  
  4235. #-----------------------------
  4236. # BACK-END SERVER SINGLE SIGN-OFF
  4237. #-----------------------------
  4238. # When a user's session is terminated in WebSEAL, any sessions that may exist
  4239. # on back-end application servers are not destroyed. When this item is
  4240. # configured, WebSEAL will send a request to the configured URI's including
  4241. # any configured headers and cookies for the junction point on which it resides.
  4242. # The backend application can use this information to terminate any sessions
  4243. # for that user.
  4244. #
  4245. # Multiple URI's can be specified by including multiple single-signoff-uri
  4246. # configuration entries.
  4247. #
  4248. # The configured URI must reside on a standard junction. For example:
  4249. # single-signoff-uri = /app/logout.asp
  4250. #
  4251. # single-signoff-uri =
  4252.  
  4253. # It is possible to enforce validation of a secret token for certain account
  4254. # management pages to protect against CSRF-style attacks. If this functionality
  4255. # is enabled a secret token will be added to each session, and this token will
  4256. # be validated against the 'token' query argument for selected management
  4257. # requests. For example, the request to '/pkmslogout' would change to
  4258. # '/pkmslogout?token=<value>'. If the token is missing, or does not match
  4259. # the token contained within the session, an error page will be returned to
  4260. # the client.
  4261. #
  4262. # This configuration option will affect the following management requests:
  4263. # - /pkmslogin.form
  4264. # - /pkmslogout
  4265. # - /pkmslogout_nomas
  4266. # - /pkmssu.form
  4267. # - /pkmsskip
  4268. # - /pkmsdisplace
  4269. #
  4270. # In an eCSSO environment it is essential that the tagvalue_session_index
  4271. # attribute is included in the vouchfor token so that the different sessions
  4272. # can share the same token. This is required for the redirected logout which
  4273. # will take place when a session is logged out.
  4274. #
  4275. # Change the value of the enable-secret-token-validation configuration to
  4276. # true in order to enable this validation functionality.
  4277. enable-secret-token-validation = false
  4278.  
  4279. # It is also possible to enforce validation of the HTTP Request referer header
  4280. # for all account management pages to protect against CSRF-style attacks. If
  4281. # this functionality is enabled, a request for an account management page will
  4282. # check to see if the referer header is present in the HTTP Request header and
  4283. # then validate the hostname portion of that referer against a list of "allowed"
  4284. # referer filters. If there are no allowed-referers entries here, then this
  4285. # validation is not performed. The values for this allowed-referers keys
  4286. # provide WebSEAL with a list of referer hostnames that should be considered
  4287. # "valid".
  4288. #
  4289. # The default value for this entry, although originally commented out as to not
  4290. # enable this functionality by default, is "allowed-referers = %HOST%". This
  4291. # is a special entry in that it indicates to WebSEAL that a referer is "valid"
  4292. # if the hostname portion of the referer HTTP Request header entry matches the
  4293. # host HTTP Request header.
  4294. #
  4295. # There can be 0 or more entries set for this key. All entries are used when
  4296. # validating the referer. Entries can contain wildcard characters:
  4297. # * - match 0 or more characters
  4298. # ? - match any single character
  4299. # \ - Literal match of the following character
  4300. # So for example, an entry "allowed-referers = ac*me" will match any referer
  4301. # hostname that begins with the characters "ac", followed by 0 or more
  4302. # characters, and ends with the characters "me".
  4303. #
  4304. #allowed-referers = %HOST%
  4305.  
  4306. [tfimsso:<jct-id>]
  4307.  
  4308. #
  4309. # This stanza is used to hold the TFIM single sign-on configuration information
  4310. # for a single junction.
  4311. #
  4312. # For standard junctions the stanza name will be qualified with the name of the
  4313. # junction point (including the leading '/'). An example stanza name might be:
  4314. # [tfimsso:/junction_a]
  4315. #
  4316. # For virtual host junctions the stanza name will be qualified with the
  4317. # virtual host label. An example stanza name might be:
  4318. # [tfimsso:www.ibm.com]
  4319. #
  4320.  
  4321. # The type of token which will be requested from TFIM. This value should
  4322. # correspond to the 'Token Type URI' field for the corresponding trust chain
  4323. # within TFIM.
  4324. token-type = http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1#GSS_Kerberosv5_AP_REQ
  4325.  
  4326. # The 'applies-to' search criteria used when locating the appropriate STS
  4327. # module within TFIM. Generally this entry should be of the format:
  4328. # http://<webseal-server>/<junction> (similar to the URL which is used to
  4329. # access the junction).
  4330. applies-to = http://<webseal-server>/<junction>
  4331.  
  4332. # The service-name configuration entry will be used:
  4333. # 1. By TFIM when searching for a matching trust chain. This configuration
  4334. # entry will be compared against the configured 'AppliesTo' service name
  4335. # value for each trust chain. The second field within the 'AppliesTo'
  4336. # service name configuration entry should be set to either '*' to match
  4337. # all service names, or it should be set to the value defined by this
  4338. # configuration item. Refer to the TFIM documentation for further
  4339. # details on configuring Trust Chains.
  4340. # 2. As the service principal name of the delegating user when creating a
  4341. # Kerberos token. The service principal name can be determined by
  4342. # executing the Microsoft utility 'setspn', i.e. setspn -L <user>,
  4343. # where <user> is the identity of the user which the junctioned Web server
  4344. # is running as.
  4345. service-name = <spn>
  4346.  
  4347. # The length of time, in seconds, by which the expiry time of a security token
  4348. # will be reduced. This entry is used to make allowances for differences in
  4349. # system times and transmission times for the security tokens.
  4350. renewal-window = 15
  4351.  
  4352. # This boolean value is used to indicate whether the security token which is
  4353. # produced by TFIM is only valid for a single transaction. An example of a
  4354. # one-time-token is a Kerberos token, which can only be used for a single
  4355. # authentication operation.
  4356. one-time-token = true
  4357.  
  4358. # This boolean value is used to control whether the requested
  4359. # BinarySecurityToken XML structure should be used in it's entirety, or whether
  4360. # only the encapsulated token should be used. This configuration entry should
  4361. # only be set to true if the junctioned Web server understands and expects the
  4362. # BinarySecurityToken XML structure.
  4363. preserve-xml-token = false
  4364.  
  4365. # The number of security tokens which should be retrieved from TFIM in a single
  4366. # request. This option is only valid for one-time-tokens where the
  4367. # corresponding TFIM module has also been coded to handle requests for multiple
  4368. # tokens via the 'Claims' construct. The resultant security tokens will be
  4369. # cached by WebSEAL and then used on subsequent requests. Tuning of this
  4370. # parameter will be important for performance of one-time-tokens. If the
  4371. # value is large there will be fewer requests to TFIM, but the responses to
  4372. # these requests will be larger.
  4373. token-collection-size = 10
  4374.  
  4375. # The type of mechanism which will be used to transmit the security token to
  4376. # the junctioned Web server. Possible values for this configuration entry
  4377. # are:
  4378. # header - The security token will be included in a header;
  4379. # cookie - The security token will be included in a cookie;
  4380. token-transmit-type = header
  4381.  
  4382. # The name given to the security token within the junctioned Web server
  4383. # request.
  4384. token-transmit-name = Authorization
  4385.  
  4386. # This boolean value is used to indicate whether a security token should be
  4387. # sent for every HTTP request, or whether WebSEAL should wait for a 401
  4388. # response from the back-end Web server before adding the security token. This
  4389. # configuration item is used to avoid the unnecessary overhead of generating
  4390. # and adding a security token to every request if the back-end Web server is
  4391. # capable of maintaining user sessions.
  4392. always-send-tokens = false
  4393.  
  4394. # The name of the WAS cluster which houses this TFIM service. There should
  4395. # also be a corresponding [tfim-cluster:<cluster>] stanza which contains the
  4396. # definition of the cluster.
  4397. tfim-cluster-name = my-cluster
  4398.  
  4399. [tfim-cluster:my-cluster]
  4400.  
  4401. #
  4402. # This stanza contains definitions for a particular cluster of TFIM
  4403. # servers.
  4404. #
  4405.  
  4406. #
  4407. # A specification for the server which is used when communicating with a
  4408. # single TFIM server which is a member of this cluster. Values for this
  4409. # entry are defined as follows:
  4410. #
  4411. # {[0-9],}<URL>
  4412. #
  4413. # Where the first digit (if present) represents the priority of the server
  4414. # within the cluster (9 being the highest, 0 being lowest). If the priority
  4415. # is not specified, a priority of 9 is assumed. The <URL> can be any
  4416. # well-formed HTTP or HTTPS URL.
  4417. #
  4418. # Multiple server entries can be specified for failover and load balancing
  4419. # purposes. The complete set of these server entries defines the
  4420. # membership of the cluster for failover and load balancing.
  4421. #
  4422. # server = 9,http://tfim.example.com/TrustServerWST13/services/RequestSecurityToken
  4423.  
  4424.  
  4425. #
  4426. # The maximum number of cached handles, used when communicating with TFIM.
  4427. #
  4428.  
  4429. handle-pool-size = 10
  4430.  
  4431. #
  4432. # The length of time, in seconds, before an idle handle will be removed
  4433. # from the handle pool cache.
  4434. # It should not be larger than the HTTP Transport chain persistent timeout
  4435. # configured on the Websphere server(s) running TFIM
  4436. #
  4437.  
  4438. handle-idle-timeout = 30
  4439.  
  4440. #
  4441. # The length of time, in seconds, to wait for a response from TFIM.
  4442. #
  4443.  
  4444. timeout = 30
  4445.  
  4446. #
  4447. # The following configuration entries are optional and can be used if the TFIM
  4448. # server has been configured to require basic authentication. If these
  4449. # entries are left blank no basic authentication header will be provided when
  4450. # communicating with the TFIM server.
  4451. #
  4452. #
  4453. # The name of the user for the basic authentication header.
  4454. #
  4455. # basic-auth-user = <user>
  4456. #
  4457. # The password to be used for the basic authentication header.
  4458. #
  4459. # basic-auth-passwd = <user>
  4460. #
  4461. # The following SSL entries are optional and are only required if:
  4462. # 1. At least one server entry indicates that SSL is to be used (i.e.
  4463. # starts with https:)
  4464. # 2. A certificate is required other than that which is used by this server
  4465. # when communicating with the policy server (details of the
  4466. # default certificate can be found in the [ssl] stanza of this
  4467. # configuration file.
  4468. #
  4469. # If these entries are required and are not found within this stanza, the
  4470. # default [ssl] stanza will be searched.
  4471. #
  4472. #
  4473. # The name of the key database file which houses the client certificate to be
  4474. # used.
  4475. #
  4476.  
  4477. # The following files are currently available for this configuration entry:
  4478. # - pdsrv.kdb
  4479. # - lmi_trust_store.kdb
  4480. # - rt_profile_keys.kdb
  4481. # - embedded_ldap_keys.kdb
  4482.  
  4483. ssl-keyfile =
  4484.  
  4485. #
  4486. # The name of the password stash file for the key database file.
  4487. #
  4488.  
  4489. # The following files are currently available for this configuration entry:
  4490. # - rt_profile_keys.sth
  4491. # - lmi_trust_store.sth
  4492. # - embedded_ldap_keys.sth
  4493. # - pdsrv.sth
  4494.  
  4495. ssl-keyfile-stash =
  4496.  
  4497. #
  4498. # The label of the client certificate within the key database.
  4499. #
  4500. ssl-keyfile-label =
  4501.  
  4502. #
  4503. # This configuration entry specifies the DN of the server (obtained from the
  4504. # server SSL certificate) which will be accepted. If no entry is configured
  4505. # all DN's will be considered to be valid. Multiple DN's can be specified by
  4506. # including multiple configuration entries of this name.
  4507. #
  4508. # ssl-valid-server-dn =
  4509.  
  4510. #
  4511. # The entry controls whether FIPS communication is enabled with TFIM or
  4512. # not. If no configuration entry is present the global FIPS setting (as
  4513. # determined by the TAM policy server) will take effect.
  4514. #
  4515. # ssl-fips-enabled =
  4516.  
  4517. # Configure NIST SP800-131A compliance mode. This will have the affect of:
  4518. # - enabling FIPS mode processing (over-riding the value of the
  4519. # ssl-fips-enabled configuration entry);
  4520. # - enabling TLS V1.2;
  4521. # - enabling the appropriate signature algorithms;
  4522. # - setting the minimum RSA key size to 2048 bytes.
  4523. #
  4524. # If no configuration entry is present the global NIST setting (as found in
  4525. # the [ssl] stanza) will be used.
  4526. #
  4527. # ssl-nist-compliance = no
  4528.  
  4529. #
  4530. # Specify any additional GSKit attributes which should be used when
  4531. # initializing an SSL connection with TFIM. A complete list of
  4532. # the available attributes is included in the GSKit SSL API documentation.
  4533. #
  4534. # The configuration entry may be specified multiple times, one for each
  4535. # GSKit attribute. The entry should be of the format:
  4536. # gsk-attr-name = <type>:<id>:<value>
  4537. #
  4538. # - where <type> is one of 'enum', 'string', 'number'
  4539. # and <id> corresponds to the identity associated with a GSKit attribute
  4540. # (e.g. GSK_HTTP_PROXY_SERVER_NAME = 225)
  4541. #
  4542. # An example configuration could be:
  4543. # gsk-attr-name = string:225:proxy.ibm.com
  4544. #
  4545.  
  4546. [local-response-redirect]
  4547. # URLs to which management page requests are redirected. All management
  4548. # requests will be redirected to the URLs with a query string indicating
  4549. # the operation requested, along with any macros (as configured in the
  4550. # [local-response-macros] stanza). See the WebSEAL Admin Guide for the
  4551. # specific format of the query string, and how the receiving handler should
  4552. # treat the requests.
  4553. #
  4554. # The URL may be absolute or server-relative. Only use an absolute URL if
  4555. # the destination server is not accessed via WebSEAL.
  4556. #
  4557. # Valid formats are:
  4558. # http[s]://<server>/<path>
  4559. # /<path>
  4560. #
  4561. # To define the URI for specific operations, prefix the URI in the entry with
  4562. # the operation name in the form [<operation>]. The '[' and ']' chars are
  4563. # required. Valid values for <operation> are:
  4564. #
  4565. # logout passwd passwd_warn passwd_warn_failure acct_inactivated
  4566. # acct_locked passwd_exp passwd_rep_success passwd_rep_failure
  4567. # help login login_success token_login cert_login next_token
  4568. # switch_user failed_cert cert_stepup_http stepup,error
  4569. # too_many_sessions tempsession
  4570. #
  4571. # An operation specific example:
  4572. # local-response-redirect-uri = [login] /jct/cgi-bin/eai
  4573. #
  4574. # If an entry that does not specify an operation is present then any
  4575. # operation that does not have a specific entry will use it.
  4576. # If an entry that does not specify an operation is NOT present then any
  4577. # operation that does not have a specific entry will not use local response
  4578. # redirection and instead will use regular WebSEAL behavior.
  4579. #
  4580. # This configuration item may be customized for a particular junction
  4581. # by adding the adjusted configuration item to a
  4582. # [local-response-redirect:{jct_id}] stanza, where '{jct-id}' refers to
  4583. # the junction point for a standard junction (include the leading '/'),
  4584. # or the virtual host label for a virtual host junction.
  4585.  
  4586. #local-response-redirect-uri = /jct/redirect/handler
  4587.  
  4588. [local-response-macros]
  4589. # URL-encoded macros to include in the query string for all management
  4590. # page requests.
  4591. #
  4592. # These will increase the length of the local response redirect URI. Certain
  4593. # user-agents, such as WAP browsers, may have URI length limitations, so
  4594. # add macros sparingly and cautiously. Note that any special characters will
  4595. # be URI-encoded, further increasing the length of the local response URI.
  4596. #
  4597. # Do not modify the macro strings or add new ones; all supported macros are
  4598. # listed below. Comment/uncomment desired macros for inclusion in the local
  4599. # response URI. See the WebSEAL Admin Guide for definitions of the content
  4600. # corresponding to each macro.
  4601. #
  4602. # The field names used in the query string can be customized by placing a
  4603. # colon and a custom name after the macro definition as demonstrated below.
  4604. # macro = USERNAME:customerId
  4605. #
  4606. # If no name or a blank name is provided after the colon, the default value
  4607. # will be used. The default value is the macro name. For the HTTPHDR macro,
  4608. # the default value is HTTPHDR_<name>, where name is the name of the HTTP
  4609. # header defined in that macro. For the CREDATTR macro, the default value
  4610. # is CREDATTR_<name>, where name is the name of the attributed defined in
  4611. # that macro.
  4612. #
  4613. # Note that at a minimum the TAM_OP macro must be included in any response.
  4614. # Even if the TAM_OP macro is not included or customized below, it will
  4615. # still be present in all response URIs.
  4616.  
  4617. macro = TAM_OP
  4618. #macro = USERNAME
  4619. #macro = METHOD
  4620. #macro = URL
  4621. #macro = REFERER
  4622. #macro = HOSTNAME
  4623. #macro = AUTHNLEVEL
  4624. #macro = FAILREASON
  4625. #macro = PROTOCOL
  4626. #macro = ERROR_CODE
  4627. #macro = ERROR_TEXT
  4628. #macro = OLDSESSION
  4629. #macro = EXPIRE_SECS
  4630. #macro = HTTPHDR{<name>}
  4631. #macro = CREDATTR{<name>}
  4632. #macro = SECONDARY_BASE
  4633.  
  4634. [enable-redirects]
  4635. # This stanza contains a list of authentication mechanisms
  4636. # for which automatic redirects are enabled.
  4637. # Valid choices are forms-auth, token-auth, basic-auth, cert-auth,
  4638. # and ext-auth-interface
  4639. # Any or all of them may be enabled.
  4640. #redirect = forms-auth
  4641. #redirect = basic-auth
  4642. #redirect = token-auth
  4643. #redirect = cert-auth
  4644. #redirect = ext-auth-interface
  4645.  
  4646. #----------------------
  4647. # ICONS
  4648. #----------------------
  4649. [content-cache]
  4650. #----------------------
  4651. # DOCUMENT CACHING
  4652. #----------------------
  4653.  
  4654. # The entries below define the caches which the Web Server uses to store
  4655. # documents in memory.
  4656. #
  4657. # Syntax:
  4658. # <MIME-Type> = <Cache-Type>:<Cache-Size>{:<Def-Max-Age>}
  4659. #
  4660. # Where:
  4661. #
  4662. # <MIME-Type>
  4663. # Represents any valid MIME type conveyed in an HTTP "Content-Type:"
  4664. # response header. This value may contain a wildcard (*). A value
  4665. # of */* represents a default object cache that will hold any object
  4666. # that does not correspond to an explicitly configured cache.
  4667. #
  4668. # <Cache-Type>
  4669. # Defines the type of backing store to use for the cache. Currently
  4670. # only "memory" caches are supported.
  4671. #
  4672. # <Cache-Size>
  4673. # Represents the maximum size to which the given cache may grow before
  4674. # objects are removed according to a LRU algorithm. This value is
  4675. # defined in Kbytes.
  4676. #
  4677. # <Def-Max-Age>
  4678. # Represents the maximum age of a session cache entry if expiration
  4679. # information is missing from the original response. This value is
  4680. # defined in seconds. If no value is supplied a default maximum age
  4681. # of 3600 (i.e. 1 hour) will be applied.
  4682. #
  4683. # No Caching is performed if no caches are defined. If no default cache
  4684. # is specified, documents which do not match any cache are not cached.
  4685. #
  4686. # text/html = memory:2000
  4687. # image/* = memory:5000
  4688. # */* = memory:1000
  4689.  
  4690.  
  4691. [compress-mime-types]
  4692. #----------------------
  4693. # HTTP COMPRESSION MIME-TYPE CONFIGURATION
  4694. #----------------------
  4695.  
  4696. # This stanza allows HTTP compression to be enabled or disabled based
  4697. # on the mime-type of the response and the size of the returned document.
  4698. # Order is important. The first entry that matches a returned document
  4699. # will be used for that document.
  4700. #
  4701. # Syntax:
  4702. # <MIME-type> = <Min-Doc-Size>[:<Compress-Level>]
  4703. #
  4704. # Where:
  4705. #
  4706. # <MIME-Type>
  4707. # Represents any valid MIME type conveyed in an HTTP "Content-Type:"
  4708. # response header. This value may contain a wildcard (*). A value
  4709. # of */* will match all mime-types.
  4710. #
  4711. # <Min-Doc-Size>
  4712. # The minimum document size to be compressed. A size of -1 means never
  4713. # to compress this mime-type. A size of 0 means to compress the
  4714. # document regardless of its size. A size greater than 0 means that the
  4715. # document will only be compressed if its initial size is greater than
  4716. # or equal to Min-Doc-Size.
  4717. #
  4718. # <Compress-Level>
  4719. # The compression level to be used for documents of this MIME type.
  4720. # The compression level must be between 1 and 9, inclusive. Higher
  4721. # compression levels decrease the size of the compressed data at the
  4722. # expense of additional CPU utilization. This value is optional; if it
  4723. # is not specified a compression level of 1 is used.
  4724. #
  4725. # These example configuration lines will:
  4726. # - disable compression for images.
  4727. # - enable compression for HTML documents larger than 1000 bytes.
  4728. # - enable compression for all other text documents regardless of size.
  4729. # - enable compression of PDF documents of all sizes at compression level 5.
  4730. # - disable compression for any other documents.
  4731. #
  4732. # image/* = -1
  4733. # text/html = 1000
  4734. # text/* = 0
  4735. # application/pdf = 0:5
  4736. # */* = -1
  4737.  
  4738. */* = -1
  4739.  
  4740.  
  4741. [compress-user-agents]
  4742. #----------------------
  4743. # HTTP COMPRESSION USER-AGENT CONFIGURATION
  4744. #----------------------
  4745.  
  4746. # This stanza allows HTTP compression to be enabled or disabled based
  4747. # on the user-agent header sent by clients. This stanza should be used
  4748. # to disable compression for clients which send an "accept-encoding: gzip"
  4749. # HTTP header but don't actually handle gzipped content-encodings properly
  4750. #
  4751. # Syntax:
  4752. # <Pattern> = <Compression>
  4753. #
  4754. # Where:
  4755. #
  4756. # <Pattern>
  4757. # A wild card pattern to match a particular user-agent header
  4758. #
  4759. # <Compression>
  4760. # Is yes if the user-agent can handle compressed data, no otherwise.
  4761. #
  4762. # The first matching entry is used when determining whether a user-agent
  4763. # can handle compression content-encodings. If no entry matches the
  4764. # user-agent's accept-encoding header is assumed to be correct. User-agents
  4765. # that do not send an "accept-encoding: gzip" header will never receive
  4766. # compressed data.
  4767.  
  4768.  
  4769. [content-mime-types]
  4770. #----------------------
  4771. # MIME TYPES
  4772. #----------------------
  4773.  
  4774. # This stanza defines the MIME type for particular document extensions.
  4775. #
  4776. # Syntax:
  4777. # <extension> = <type>
  4778. #
  4779. # where
  4780. # extension is the extension of documents of this MIME type
  4781. # type is a MIME type
  4782. #
  4783. # The first matching entry is used when determining the type of a particular
  4784. # document.
  4785. #
  4786. html = text/html
  4787. htm = text/html
  4788. gif = image/gif
  4789. jpeg = image/jpeg
  4790. ps = application/postscript
  4791. shtml = text/x-server-parsed-html
  4792. jpg = image/jpeg
  4793. jpe = image/jpeg
  4794. mpeg = video/mpeg
  4795. mpe = video/mpeg
  4796. mpg = video/mpeg
  4797. bin = application/octet-stream
  4798. exe = application/octet-stream
  4799. Z = application/octet-stream
  4800. EXE = application/octet-stream
  4801. dll = application/octet-stream
  4802. DLL = application/octet-stream
  4803. ivsrv = application/octet-stream
  4804. pdf = application/pdf
  4805. au = audio/basic
  4806. snd = audio/basic
  4807. aiff = audio/x-aiff
  4808. aifc = audio/x-aiff
  4809. aif = audio/x-aiff
  4810. wav = audio/x-wav
  4811. ai = application/postscript
  4812. eps = application/postscript
  4813. rtf = application/rtf
  4814. zip = application/zip
  4815. ief = image/ief
  4816. tiff = image/tiff
  4817. tif = image/tiff
  4818. ras = image/x-cmu-raster
  4819. pnm = image/x-portable-anymap
  4820. pbm = image/x-portable-bitmap
  4821. pgm = image/x-portable-graymap
  4822. ppm = image/x-portable-pixmap
  4823. rgb = image/x-rgb
  4824. xbm = image/x-xbitmap
  4825. xpm = image/x-xpixmap
  4826. xwd = image/x-xwindowdump
  4827. txt = text/plain
  4828. rtx = text/richtext
  4829. tsv = text/tab-separated-values
  4830. etx = text/x-setext
  4831. qt = video/quicktime
  4832. mov = video/quicktime
  4833. avi = video/x-msvideo
  4834. movie = video/x-sgi-movie
  4835. js = application/x-javascript
  4836. ls = application/x-javascript
  4837. mocha = application/x-javascript
  4838. wrl = x-world/x-vrml
  4839. dir = application/x-director
  4840. dxr = application/x-director
  4841. dcr = application/x-director
  4842. crt = application/x-x509-ca-cert
  4843. tar = application/x-tar
  4844. css = text/css
  4845.  
  4846. # default type to assign to pages that don't match any of the above
  4847. deftype = text/plain
  4848. ico = image/x-icon
  4849.  
  4850. [content-encodings]
  4851. #----------------------
  4852. # CONTENT ENCODINGS
  4853. #----------------------
  4854.  
  4855. # Some browsers support content encodings. These entries map a document
  4856. # extension to an encoding type.
  4857. gz = x-gzip
  4858. Z = x-compress
  4859.  
  4860. ##################################
  4861. # LOGGING
  4862. ##################################
  4863. [logging]
  4864.  
  4865. #
  4866. # The server-log-cfg configuration entry is used to configure the server
  4867. # for logging. The format of the configuration entry is:
  4868. # server-log-cfg = agent [parameter=value],[parameter=value]....
  4869. #
  4870. # Where:
  4871. # agent: The logging agent. The agent is used to control the destination
  4872. # of the logging event. Valid agents include:
  4873. # stdout, stderr, file, remote, rsyslog.
  4874. #
  4875. # Different configuration parameters and values are also required/supported
  4876. # by the different agents. Some of the available parameters include:
  4877. #
  4878. # Parameter Supported Agents:
  4879. # --------- -----------------
  4880. # buffer_size remote
  4881. # compress remote, file
  4882. # dn remote
  4883. # error_retry remote, rsyslog
  4884. # flush_interval all
  4885. # hi_water all
  4886. # log_id file, rsyslog
  4887. # max_event_len rsyslog
  4888. # max_rollover_files file
  4889. # mode file
  4890. # path all
  4891. # port remote, rsyslog
  4892. # queue_size all
  4893. # rebind_retry remote, rsyslog
  4894. # rollover_size file
  4895. # server remote, rsyslog
  4896. # ssl_keyfile rsyslog
  4897. # ssl_label rsyslog
  4898. # ssl_stashfile rsyslog
  4899. #
  4900. # As an example, to send server events to a remote syslog server:
  4901. # server-log-cfg = rsyslog server=timelord,port=514,log_id=webseal-instance
  4902. #
  4903. # For a complete description of the different available logging agents, and
  4904. # the supported configuration parameters, please refer to the IBM Security
  4905. # Access Manager Auditing Guide.
  4906. #
  4907. server-log-cfg = file path=msg__webseald-sharif.log,hi_water=1,flush_interval=1
  4908.  
  4909. # Log files' size limit
  4910. # Applies to the request, referer, and agent logs
  4911. # Negative values will cause the logs to be rolled over daily.
  4912. # A value of zero will cause no rollover file to be created.
  4913. max-size = 2000000
  4914.  
  4915. # Frequency in seconds to force a flush of log buffers
  4916. flush-time = 20
  4917.  
  4918. # Enable the request log
  4919. requests = yes
  4920.  
  4921. # Enable the the referer log
  4922. referers = no
  4923.  
  4924. # Enable the user agent log
  4925. agents = no
  4926.  
  4927. # Log requests with time in GMT instead of local TZ
  4928. gmt-time = no
  4929.  
  4930. # If log-invalid-requests is set to 'yes', WebSEAL will log every
  4931. # request, even if a request is malformed or for some other reason
  4932. # is not processed to completion.
  4933. log-invalid-requests = yes
  4934.  
  4935. # The request-log-format to be written to the request log.
  4936. # The following directives can be used to customize the log format.
  4937. #
  4938. # %a: Client IP Address
  4939. # %A: Local IP Address
  4940. # %b: Bytes in the response excluding HTTP headers in CLF format: '-' instead
  4941. # of 0 when no bytes are returned.
  4942. # %B: Bytes in the response excluding HTTP headers
  4943. # %{attribute}C:
  4944. # Attribute from the TAM credential named 'Attribute'
  4945. # %{cookie}e:
  4946. # Contents of the Cookie 'cookie' in the request
  4947. # %{cookie}E:
  4948. # Contents of the Cookie 'cookie' in the response
  4949. # %d: Transaction identifier, or session sequence number.
  4950. # %F: Time taken to serve the request in microseconds
  4951. # %h: Client host
  4952. # %H: Request protocol
  4953. # %{header}i:
  4954. # Contents of the Header 'header' in the request
  4955. # %j: The name of the junction servicing the request
  4956. # %l: Client logname (RFC 1314) (default -)
  4957. # %m: Request method (i.e. GET, POST, HEAD)
  4958. # %{header}o:
  4959. # Contents of the Header 'header' in the response
  4960. # %p: Port over which the request was received
  4961. # %q: The decoded query string (prepended with '?' or empty)
  4962. # %Q: The raw query string (prepended with '?' or empty).
  4963. # %r: First line of the request with decoded URL
  4964. # %R: First line of the request with decoded URL including HTTP://HOSTNAME
  4965. # %s: Response status
  4966. # %t: Time in Common Log Format format
  4967. # %{format}t:
  4968. # The time in the given format
  4969. # %T Time taken to serve the request in seconds, or part thereof
  4970. # %u: Remote user
  4971. # %U: The URL requested
  4972. # %v: Canonical ServerName of the server servicing the request
  4973. # %z: The decoded path string
  4974. # %Z: The raw path string
  4975. request-log-format = %h %l %u %t "%r" %s %b
  4976.  
  4977. [audit-mime-types]
  4978. # WebSEAL can be configured to decide whether an audit event should be
  4979. # generated for a particular HTTP request based on the content-type of the
  4980. # return document. The format of the audit-mime-types stanza is:
  4981. #<MIME-pattern> = <yes|no>
  4982. # For example:
  4983. #text/html = yes
  4984. #*/* = no
  4985.  
  4986.  
  4987. [audit-response-codes]
  4988. # WebSEAL can be configured to decide whether an audit event should be
  4989. # generated for a particular HTTP request based on the response code of the
  4990. # returned document. The format of the audit-response-codes stanza is:
  4991. #<code> = <yes|no>
  4992. # For example:
  4993. #304 = no
  4994. #302 = no
  4995.  
  4996.  
  4997. ###############################
  4998. # AUTHORIZATION API
  4999. ###############################
  5000. [aznapi-configuration]
  5001.  
  5002. # Update poll interval. This is the interval, in seconds, between checks
  5003. # for updates to the master authzn server. The local cache is only rebuilt
  5004. # if an update is detected. Values can be "disable", "default" or a time
  5005. # in seconds.
  5006. cache-refresh-interval = disable
  5007.  
  5008. # Flags to enable the reception of policy cache update notifications.
  5009. # Values can be one of: "disable", "enable"
  5010. # A "disable" value disables the notification listener.
  5011. #
  5012. # This parameter is set by the svrsslcfg utility.
  5013. listen-flags = enable
  5014.  
  5015. #----------------------
  5016. # POLICY CACHE TUNING
  5017. #----------------------
  5018. # The maximum size of the in-memory policy cache is configurable.
  5019. # The cache consists of policy and the relationships between policy
  5020. # and resources. The knowledge that a resource has no directly
  5021. # associated policy is also cached.
  5022. #
  5023. # The maximum cache size should be relative to the number
  5024. # of policy objects defined and the number of resources
  5025. # protected and the available memory.
  5026. #
  5027. # A reasonable algorithm to begin with is:
  5028. # (number of policy objects * 3) + (number of protected resources * 3)
  5029. #
  5030. # This value controls how much information is cached. A larger
  5031. # cache will potentially improve the application performance but use
  5032. # addditional memory as well.
  5033. #
  5034. # Size is specifed as the number of entries.
  5035. #
  5036. # policy-cache-size = 32768
  5037.  
  5038.  
  5039. #----------------------
  5040. # AUTHORIZATION API LOGGING (traditional)
  5041. # NB: The following authorization logging configuration entries are supported
  5042. # for historical purposes only. The logcfg configuration entry should be
  5043. # used to configure the logging in favour of these legacy configuration
  5044. # items.
  5045. #----------------------
  5046. # Audit Trail
  5047. # Enable/Disable audit event recording
  5048. logaudit = no
  5049.  
  5050. # Name of daemon whose activities are audited
  5051. logclientid = webseald
  5052.  
  5053. # To selectively capture audit events from specific components, uncomment the
  5054. # appropriate auditcfg lines.
  5055. #auditcfg = azn
  5056. #auditcfg = authn
  5057. #auditcfg = http
  5058.  
  5059. # Log file size limit
  5060. # Negative values will cause the logs to be rolled over daily.
  5061. # A value of zero will cause no rollover file to be created.
  5062. logsize = 2000000
  5063.  
  5064. # Frequency, in seconds, to flush the log buffers
  5065. logflush = 20
  5066.  
  5067. # Attributes to be audited.
  5068. # tagvalue_su-admin is audited by default.
  5069. audit-attribute = tagvalue_su-admin
  5070.  
  5071. # Option to enable adjustment of the authentication auditing data to accurately
  5072. # reflect the operation result. This slightly changes the the audit record
  5073. # contents so any automated tools examining audit logs may need to be adjusted
  5074. # to match.
  5075. adjust-audit = no
  5076.  
  5077. #----------------------
  5078. # AUTHORIZATION API LOGGING
  5079. #----------------------
  5080.  
  5081. #
  5082. # The logcfg configuration entry is used to configure the system for logging.
  5083. # The format of the configuration entry is:
  5084. # logcfg = category:agent [parameter=value],[parameter=value]....
  5085. #
  5086. # Where:
  5087. # category: The name of the logging component. Valid logging components
  5088. # include: audit.azn, audit.authn, http, http.clf, http.ref,
  5089. # http.agent
  5090. # agent: The logging agent. The agent is used to control the
  5091. # destination of the logging event. Valid agents include:
  5092. # stdout, stderr, file, pipe, remote, rsyslog (although the
  5093. # pipe agent is not supported on the appliance).
  5094. #
  5095. # Different configuration parameters and values are also required/supported by
  5096. # the different agents. Some of the available parameters include:
  5097. #
  5098. # Parameter Supported Agents Details
  5099. # --------- ---------------- -------
  5100. # buffer_size remote
  5101. # compress remote, file
  5102. # dn remote
  5103. # error_retry remote, rsyslog
  5104. # flush_interval all
  5105. # hi_water all
  5106. # log_id file, rsyslog
  5107. # max_event_len rsyslog
  5108. # max_rollover_files file
  5109. # mode file
  5110. # path all
  5111. # port remote, rsyslog
  5112. # queue_size all
  5113. # rebind_retry remote, rsyslog
  5114. # rollover_size file
  5115. # server remote, rsyslog
  5116. # ssl_keyfile rsyslog
  5117. # ssl_label rsyslog
  5118. # ssl_stashfile rsyslog
  5119. # ssl_protocols rsyslog A colon separated list of SSL
  5120. # protocols to be enabled. Valid
  5121. # protocols include:
  5122. # sslv3,tlsv10,tlsv11,tlsv12.
  5123. #
  5124. # As an example, to send authorization events to a remote syslog server:
  5125. # logcfg = audit.azn:rsyslog server=timelord,port=514,log_id=webseal-instance
  5126. #
  5127. # For a complete description of the different available logging agents, and
  5128. # the supported configuration parameters, please refer to the IBM Security
  5129. # Access Manager Auditing Guide.
  5130. #
  5131.  
  5132. #---------------------------------------------------
  5133. # BOOLEAN AUTHORIZATION RULES CONFIGURATION ENTRIES.
  5134. #---------------------------------------------------
  5135. #
  5136. # A list of string prefixes that identify Access Decision Information (ADI)
  5137. # to be supplied by the resource manager (in this case, WebSEAL). The
  5138. # default setting below tell the authorization engine that when it requires
  5139. # ADI with the prefixes "AMWS_hd_", "AMWS_qs_" or "AMWS_pb_" to evaluate a
  5140. # boolean authorization rule, and the ADI is not available in the credential
  5141. # or application context passed in with the access decision call, that the
  5142. # engine should fail the access decision and request that the resource manager
  5143. # retry the request and provide the required data in the application context
  5144. # of the next request. The prefixes given below represent special values
  5145. # for WebSEAL:
  5146. # AMWS_hd_ - Indicates that the ADI can be found within the HTTP Environment
  5147. # (Headers) of the request that WebSEAL is currently serving.
  5148. # AMWS_qs_ - Indicates that the ADI can be found within the Query String of
  5149. # the request that WebSEAL is currently serving.
  5150. # AMWS_pb_ - Indicates that the ADI can be found within the POST Body of the
  5151. # request that WebSEAL is currently serving.
  5152. #
  5153. resource-manager-provided-adi = AMWS_hd_
  5154. resource-manager-provided-adi = AMWS_pb_
  5155. resource-manager-provided-adi = AMWS_qs_
  5156.  
  5157.  
  5158. # To enable certain Boolean Authorization Rules options, it is necessary
  5159. # to set the permission information that the authorization engine will
  5160. # return to WebSEAL.
  5161. # The permission attribute that will enable the authorization engine to
  5162. # request ADI from the current WebSEAL request is
  5163. # "azn_perminfo_rules_adi_request".
  5164. # To use the "-R" junction option, the "azn_perminfo_reason_rule_failed"
  5165. # attribute must be included.
  5166. # To enable the Privacy Redirection capabilities of the AMWebARS Web Service,
  5167. # the "azn_perminfo_amwebars_redirect_url" must be included.
  5168. permission-info-returned = azn_perminfo_rules_adi_request azn_perminfo_reason_rule_failed
  5169.  
  5170.  
  5171. # The prolog to be added to the top of the XML document that is created
  5172. # using the Access Decision Information (ADI) needed to evaluate a boolean
  5173. # authorization rule. If not specified then the default XML prolog is:
  5174. #
  5175. # <?xml version='1.0' encoding='UTF-8'?>
  5176. #
  5177. # It is strongly suggested that you read and thoroughly understand the
  5178. # boolean authorization rules documentation before attempting to change
  5179. # this setting from the default provided.
  5180. #
  5181. ## input-adi-xml-prolog = <?xml version='1.0' encoding='UTF-8'?>
  5182.  
  5183.  
  5184. # The prolog to be added to the top of the XSL styleheet that is created
  5185. # using the XSL text that defines a boolean authorization rule. If not
  5186. # specified then the default XSL stylesheet prolog is:
  5187. #
  5188. # <?xml version='1.0' encoding='UTF-8'?> <xsl:stylesheet xmlns:xsl=\
  5189. # 'http://www.w3.org/1999/XSL/Transform' version='1.0'> \
  5190. # <xsl:output method = 'text' omit-xml-declaration='yes' \
  5191. # indent='no'/> <xsl:template match='text()'> </xsl:template>
  5192. #
  5193. # It is strongly suggested that you read and thoroughly understand
  5194. # the boolean authorization rules documentation before attempting
  5195. # to change this setting from the default provided.
  5196. #
  5197. ## xsl-stylesheet-prolog = <?xml version='1.0' encoding='UTF-8'?> <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'> <xsl:output method = 'text' omit-xml-declaration='yes' indent='no'/> <xsl:template match='text()'> </xsl:template>
  5198.  
  5199. # In previous versions of WebSEAL, a user might not be unable to work with an
  5200. # existing junction (i.e. show, delete) when the junction was protected by an
  5201. # EAS, even if the user's effective ACL had the bypassPOP ACL flag turned on.
  5202. # To remove this limitation, the following entry was created. The default
  5203. # setting of no, causes the product to work as it did in previous versions. If
  5204. # this entry is set to yes and the user accessing the protected resource does
  5205. # not have the bypassPOP ACL flag turned on, the product will work as it did in
  5206. # previous versions also. Changing this entry's value to yes will remove the
  5207. # limitation described above.
  5208. #
  5209. # NOTE: The sec_master user has the bypassPOP ACL flag turned on by default.
  5210. # If this setting is set to yes, sec_master will NOT call out to the EAS when
  5211. # accessing a protected resource. Consider this fact when deciding whether to
  5212. # set this entry to yes.
  5213. skip-eas-on-bypass-pop = no
  5214.  
  5215. # This option applies to the entitlement service: azn_ent_registry_svc. It
  5216. # defines the separator character for policy attributes. If not explicitly set
  5217. # here then it defaults to the ':' character. If set to the '\' character then
  5218. # a character escaping method is enabled in combination with the default ':'
  5219. # separator character. Escaping ensures that the ':' character separator
  5220. # character is uniquely identified from any occurances in the user name (or DN)
  5221. # and their policy names.
  5222. policy-attr-separator = \
  5223. mode = local
  5224.  
  5225. # The following configuration is read only and cannot be modified.
  5226. azn-server-name = sharif-webseald-iam.ibmemm.edu
  5227.  
  5228. # The following configuration item is contained within the obfuscated
  5229. # database and as such is obfuscated within this file. If the value is
  5230. # modified within this configuration file the corresponding change will
  5231. # be applied to the obfuscated database.
  5232.  
  5233. pd-user-pwd = **obfuscated**
  5234.  
  5235. [TAM_CRED_ATTRS_SVC]
  5236.  
  5237. #
  5238. # This stanza is used to configure the credential attributes entitlement
  5239. # service. This entitlement service can be used to add attributes to the
  5240. # credential which are based on LDAP attributes of the authenticated user.
  5241. #
  5242. # Entries in this stanza are used to define the sources of attributes to be
  5243. # retrieved. The source names, such as user and group, are used to identify
  5244. # the source location in the registry. You need to define these. The values
  5245. # for these sources are registry identifiers that exist in the registry. The
  5246. # values can be existing credential attribute names. If this is the case,
  5247. # the service automatically finds and uses the respective values.
  5248. #
  5249. # For example:
  5250. # eperson = azn_cred_registry_id
  5251. # organisationalPerson = azn_cred_registry_id
  5252. #
  5253. # Each entry should then have a corresponding stanza which maps the LDAP
  5254. # attribute into a credential attribute.
  5255. #
  5256. # For example:
  5257. # [TAM_CRED_ATTRS_SVC:eperson]
  5258. # emailAddress = mail
  5259. # mobileNumber = mobile
  5260. #
  5261. # [TAM_CRED_ATTRS_SVC:organisationalPerson]
  5262. # emailAddress = mail
  5263. # mobileNumber = mobile
  5264. #
  5265.  
  5266. [azn-decision-info]
  5267.  
  5268. #
  5269. # This stanza is used to define any extra information which should
  5270. # be made available to the authorization framework when making
  5271. # authorization decisions. This extra information can be obtained
  5272. # from various elements of the HTTP request, namely:
  5273. # - HTTP method
  5274. # - HTTP scheme
  5275. # - Request URI
  5276. # - HTTP headers
  5277. # - HTTP cookies
  5278. # - POST data
  5279. #
  5280. # You can also include the name of the WebSEAL server in the
  5281. # authorization request.
  5282. #
  5283. # If the requested element is not present in the HTTP request no
  5284. # corresponding attribute will be added to the authorization
  5285. # decision information.
  5286. #
  5287. # The format of the entries contained within this stanza is:
  5288. # <attr-name> = <http-info>
  5289. #
  5290. # Where:
  5291. # <attr-name>: The name of the attribute which will contain the
  5292. # HTTP information.
  5293. # <http-info>: The source of the information, one of:
  5294. # - 'method'
  5295. # - 'scheme'
  5296. # - 'uri'
  5297. # - 'client_ip'
  5298. # - 'header:<header-name>'
  5299. # - 'cookie:<cookie-name>'
  5300. # - 'post-data:<post-data-name>'
  5301. # - 'query-arg:<query-arg-name>'
  5302. # - 'server_name'
  5303. #
  5304. # The 'post-data-name' field will be handled differently based on the content
  5305. # type of the request, as defined by the ContentType header. The following
  5306. # content types are supported:
  5307. #
  5308. # application/x-www-form-urlencoded
  5309. # The 'post-data-name' field corresponds to the name of the form data field
  5310. # within the request. The corresponding value for this field will be added
  5311. # to the authorization decision information.
  5312. #
  5313. # application/json
  5314. # The 'post-data-name' field corresponds to a hierarchical representation of
  5315. # the name within the JSON data. For example, assume that the following
  5316. # POST data exists with a request which has the content-type of
  5317. # application/json:
  5318. #
  5319. # {
  5320. # "userid": "jdoe",
  5321. # "transactionValue": "146.67",
  5322. # "accountBalances": {
  5323. # "chequing": "4345.45",
  5324. # "savings": "12432.23",
  5325. # "creditLine": "19999.12"
  5326. # }
  5327. # }
  5328. #
  5329. # To have the value of userid, at the root level, added to the authorization
  5330. # decision information, create an entry in this stanza like:
  5331. # POST_USERID = /"userid"
  5332. #
  5333. # The leading / character indicates that the top level JSON object should be
  5334. # searched for a name-value pair with the name of userid. In our example,
  5335. # this would add "POST_USERID=jdoe" to the decision information.
  5336. #
  5337. # To have the savings value within the accountBalances "node" present in the
  5338. # decision information, create an entry in this stanza like:
  5339. # SAVINGS_BAL = /"accountBalances"/"savings"
  5340. #
  5341. # The initial / character indicates that the top level JSON object should be
  5342. # searched for a name-value pair with the name of accountBalances. If found,
  5343. # and that value is another JSON object, it should then be searched for a
  5344. # name-value pair with the name of savings. In our example, this would add
  5345. # "SAVINGS_BAL=12432.23" to the decision information
  5346. #
  5347. # JSON also has the notion of Arrays. Consider the following POST data
  5348. #
  5349. # {
  5350. # "userid": "pwald",
  5351. # "transactionValue": "200.00",
  5352. # "accounts": [
  5353. # {"name": "chequing": , "balanace": "4345.45"},
  5354. # {"name": "savings": , "balanace": "1234.56"}
  5355. # ]
  5356. # }
  5357. #
  5358. # Notice in this example that the top level accounts field has a value that
  5359. # is a JSON array. To identify which array element to include in the search,
  5360. # provide the array index, starting with a base of 0. For example, to add
  5361. # the value of the "balance" field from the first element of the accounts
  5362. # array, create an entry in this stanza like:
  5363. # CHEQUING_BAL = /"accounts"/0/"balance"
  5364. #
  5365. # The initial / indicates the "accounts" field in the top level JSON object.
  5366. # The /0 indicates the first element of the array value. Finally the
  5367. # /"balance" indicates the field with a name of balance within that first
  5368. # array element. In our example, this would add "CHEQUING_BAL=4345.45" to the
  5369. # decision information.
  5370. #
  5371. # Only "leaf" nodes of the String, Number, true, false or null types can be
  5372. # specified.
  5373. #
  5374. # The 'query-arg-name' field corresponds to the key name of a query string
  5375. # parameter of the request. The corresponding value for this field, if found,
  5376. # will be added to the authorization decision information.
  5377. #
  5378. #
  5379. # Other examples include:
  5380. # HTTP_REQUEST_METHOD = method
  5381. # HTTP_HOST_HEADER = header:Host
  5382. #
  5383.  
  5384. #
  5385. # Configuration stanza for the TAM transaction logging framework. This
  5386. # framework can be used by support to record transactional information.
  5387. #
  5388.  
  5389. [translog]
  5390.  
  5391. #
  5392. # The maximum file size (in KB) for a transactional log.
  5393. #
  5394.  
  5395. # 262144 = 256 MB
  5396. max-file-size = 262144
  5397.  
  5398. ###############################
  5399. # CREDENTIAL POLICY ATTRIBUTES
  5400. ###############################
  5401. [credential-policy-attributes]
  5402. # This stanza controls which TAM policy values are stored in credentials
  5403. # during authentication. In order for this stanza to take effect you must
  5404. # also enable the TAM credential policy entitlements service in the aznapi
  5405. # stanzas above this one.
  5406. #
  5407. # Format is:
  5408. # <policy-name> = <credential-attribute-name>
  5409. #
  5410. # Supported policies are listed here. Uncomment the policies you wish
  5411. # to add to credentials.
  5412.  
  5413. #AZN_POLICY_MAX_FAILED_LOGIN = tagvalue_max_failed_login
  5414. #AZN_POLICY_DISABLE_TIME = tagvalue_disable_time
  5415. #AZN_POLICY_ACCOUNT_EXPIRY_DATE = tagvalue_account_expiry_date
  5416. #AZN_POLICY_MAX_PASSWORD_AGE = tagvalue_max_password_age
  5417. #AZN_POLICY_MAX_PASSWORD_REPEATED_CHARS = tagvalue_max_password_repeated_chars
  5418. #AZN_POLICY_MIN_PASSWORD_ALPHAS = tagvalue_min_password_alphas
  5419. #AZN_POLICY_MIN_PASSWORD_NON_ALPHAS = tagvalue_min_password_non_alphas
  5420. #AZN_POLICY_PASSWORD_SPACES_ALLOWED = tagvalue_password_spaces_allowed
  5421. #AZN_POLICY_MIN_PASSWORD_LENGTH = tagvalue_min_password_length
  5422. #AZN_POLICY_TOD = tagvalue_tod
  5423. #AZN_POLICY_MAX_CONCURRENT_WEB_SESSIONS = tagvalue_max_concurrent_web_sessions
  5424. AZN_POLICY_MAX_CONCURRENT_WEB_SESSIONS = tagvalue_max_concurrent_web_sessions
  5425.  
  5426. ###############################
  5427. # POLICY DIRECTOR
  5428. ###############################
  5429. [p3p-header]
  5430. #
  5431. # This stanza specifies the P3P compact policy that applies
  5432. # to all HTTP cookies set. See the W3C P3P Specification
  5433. # for more information about P3P: http://www.w3c.org/TR/P3P/
  5434. #
  5435. # The default configured policy allows cookies to be accepted
  5436. # by the default privacy settings for Microsoft Internet Explorer
  5437. # version 6.
  5438. #
  5439. # Before configuring any P3P policy, consult the P3P Technical
  5440. # Recommendation Specification to ensure that the values configured
  5441. # match your organization's privacy policy.
  5442. #
  5443. # If a junction server sets a P3P header in it's response, a
  5444. # decision must be as to whether it should be preserved as it is,
  5445. # or replaced by the WebSEAL policy. This determination will be
  5446. # made based on the value of the 'preserve-p3p-policy' item
  5447. # in the [server] stanza.
  5448.  
  5449. #
  5450. # The 'p3p-element' item can be used to specify any elements
  5451. # to add to the P3P header besides the compact policy configured
  5452. # with the other configuration items in this stanza. This can
  5453. # be used to supply a reference to a full XML policy:
  5454. #
  5455. # p3p-element = policyref="/w3c/p3p.xml"
  5456. #
  5457.  
  5458. #
  5459. # The 'access' item specifies the access the user has to the
  5460. # information contained within and linked to the cookie.
  5461. #
  5462. # Possible values are 'none', 'all', 'nonident', 'contact-and-other',
  5463. # 'ident-contact', 'other-ident'.
  5464. #
  5465. access = none
  5466.  
  5467. #
  5468. # The 'disputes' item, if yes, specifies that the full P3P policy
  5469. # contains some information regarding disputes over the information
  5470. # contained within the cookie.
  5471. #
  5472. # The default value is 'no'.
  5473. #
  5474. # disputes = no
  5475.  
  5476. #
  5477. # The 'remedies' item specifies the possible remedies for disputes.
  5478. # Possible values are: 'correct', 'money', and 'law'.
  5479. # If not specified, no remedy information is included in the policy.
  5480. #
  5481. # remedies = correct
  5482.  
  5483. #
  5484. # The 'non-identifiable' item, if yes, specifies that no information
  5485. # in the cookie, or linked to by the cookie, personally identifies the
  5486. # user in any way.
  5487. #
  5488. non-identifiable = no
  5489.  
  5490. #
  5491. # The 'purpose' item specifies the purpose of the information in the
  5492. # cookie and linked to by the cookie.
  5493. #
  5494. # Possible values are 'current', 'admin', 'develop', 'tailoring',
  5495. # 'pseudo-analysis', 'pseudo-decision', 'individual-analysis',
  5496. # 'individual-decision', 'contact', 'historical', 'telemarketing',
  5497. # and 'other-purpose'.
  5498. #
  5499. # For all values except 'current', an additional specifier may be
  5500. # configured. The possible values are 'always', 'opt-in', 'opt-out'.
  5501. # If no value is specified, 'always' will be used.
  5502. # This value is specified after the purpose and separated from it by a
  5503. # colon, for example:
  5504. # purpose = contact:opt-in
  5505. #
  5506. purpose = current
  5507. purpose = other-purpose:opt-in
  5508.  
  5509. #
  5510. # The 'recipient' item specifies the recipients of the information in
  5511. # the cookie, and linked to by the cookie.
  5512. #
  5513. # Possible values are 'ours', 'delivery', 'same', 'unrelated',
  5514. # 'public', 'other-recipient'.
  5515. #
  5516. recipient = ours
  5517.  
  5518. #
  5519. # The 'retention' item specifies how long the information in the cookie
  5520. # or linked to by the cookie will be retained.
  5521. #
  5522. # Possible values are 'no-retention', 'stated-purpose',
  5523. # 'legal-requirement', 'business-practices', 'indefinitely'.
  5524. #
  5525. retention = no-retention
  5526.  
  5527. #
  5528. # The 'categories' item specifies the type of information stored in the
  5529. # cookie or linked to by the cookie. If the 'non-identifiable' item
  5530. # is yes, then no categories need be configured.
  5531. #
  5532. # Possible values are: 'physical', 'online', 'uniqueid', 'purchase',
  5533. # 'financial', 'computer', 'navigation', 'interactive',
  5534. # 'demographic', 'content', 'state', 'political', 'health',
  5535. # 'preference', 'location', 'government', 'other-category'.
  5536. #
  5537. categories = uniqueid
  5538.  
  5539. #
  5540. # The cfg-db-cmd:entries stanza is used to specify the configuration entries
  5541. # which will be exported or imported via the 'cfgdb' server task commands. Each
  5542. # configuration entry will be checked sequentially against each item in
  5543. # the [cfg-db-cmd:entries] stanza until the first match is found. This first
  5544. # match will then control whether the configuration entry is included, or
  5545. # excluded, from the configuration database. If no match is found the
  5546. # configuration entry will be excluded from the configuration database.
  5547. #
  5548. # The format for entries contained within this stanza will be:
  5549. # {stanza}::{entry} = [include|exclude]
  5550. #
  5551. # The 'stanza' and 'entry' fields may contain pattern matching characters.
  5552. #
  5553. # Examples entries for this stanza include:
  5554. # server::unix-root = include
  5555. # ldap::* = exclude
  5556. # *::* = include
  5557. #
  5558.  
  5559.  
  5560. [cfg-db-cmd:entries]
  5561.  
  5562. # Exclude some configuration entries which are specific to the appliance.
  5563. # The following entries should NOT be modified.
  5564. server::server-name = exclude
  5565. server::jctdb-base-path = exclude
  5566. server::cfgdb-base-path = exclude
  5567. junction::local-junction-file-path = exclude
  5568. authentication-mechanisms::* = exclude
  5569. aznapi-configuration::trace-admin-args = exclude
  5570. system-environment-variables::PD_SVC_ROUTING_FILE = exclude
  5571. oauth-eas::*rsp-file = exclude
  5572. PAM::pam-log-cfg = exclude
  5573. PAM::pam-statistics-db-path = exclude
  5574. flow-data::flow-data-db-path = exclude
  5575. translog:pd.webseal::file-path = exclude
  5576. audit-configuration::base-cache-path = exclude
  5577. aznapi-external-authzn-services::* = exclude
  5578.  
  5579. # Exclude a number of server specific entries from the server stanza
  5580. server::unix-pid-file = exclude
  5581. server::http-port = exclude
  5582. server::https-port = exclude
  5583. server::server-root = exclude
  5584. server::network-interface = exclude
  5585.  
  5586. # Exclude the LDAP bind DN and password as this should be specified to
  5587. # each server.
  5588. ldap::bind-dn = exclude
  5589. ldap::bind-pwd = exclude
  5590.  
  5591. # Exclude the SSL keyfiles, but include the actual label which is used.
  5592. ssl::webseal-cert-keyfile-label = include
  5593. ssl::*keyfile* = exclude
  5594.  
  5595. # Exclude the port on which we listen for requests from the policy server.
  5596. ssl::ssl-listening-port = exclude
  5597. ssl::listen-interface = exclude
  5598.  
  5599. # Exclude various authentication mechanisms as these should also be configured
  5600. # by default.
  5601. authentication-mechanisms::passwd-ldap = exclude
  5602. authentication-mechanisms::cert-ldap = exclude
  5603.  
  5604. # Exclude the WebSEAL document root.
  5605. content::doc-root = exclude
  5606.  
  5607. # Exclude the various log files as these should be server specific.
  5608. logging::*log = exclude
  5609. logging::server-log* = exclude
  5610. logging::*file = exclude
  5611.  
  5612. # Exclude various server specific configuration entries for the authorization
  5613. # framework (e.g. log files, server identities, etc).
  5614. aznapi-configuration::db-file = exclude
  5615. aznapi-configuration::auditlog = exclude
  5616. aznapi-configuration::azn-app-host = exclude
  5617. aznapi-configuration::azn-server-name = exclude
  5618. aznapi-configuration::pd-user-name = exclude
  5619.  
  5620. # Exclude everything from the webseal-config stanza.
  5621. webseal-config::* = exclude
  5622.  
  5623. # Exclude the name of our obfuscated configuration file.
  5624. configuration-database::* = exclude
  5625.  
  5626. # Exclude the cluster settings as these are server specific.
  5627. cluster::* = exclude
  5628.  
  5629. # Exclude the interface specific settings as these shouldn't, in a normal
  5630. # environment, need to be replicated. The [interfaces] stanza contains the
  5631. # definitions which are specific to a particular interface.
  5632. interfaces::* = exclude
  5633.  
  5634. # Exclude the appliance-preset listen-interface
  5635. appliance-preset::listen-interface = exclude
  5636.  
  5637. # We want to include everything else.
  5638. *::* = include
  5639.  
  5640. #
  5641. # The cfg-db-cmd:files stanza is used to specify the files which
  5642. # will be exported or imported via the 'cfgdb' server task commands.
  5643. #
  5644. # The format for entries contained within this stanza will be:
  5645. # file = <file-path>, or
  5646. # file = cfg(<stanza>::<entry>)
  5647. #
  5648. # The '<file-path>' entry should contain either a fully qualified file name,
  5649. # a file name which is relative to the WebSEAL installation root, or a file
  5650. # name which is relative to the WebSEAL server root (as defined by the
  5651. # server-root configuration entry).
  5652. #
  5653. # The 'cfg(<stanza>::<entry>)' entry is used to define the configuration entry
  5654. # which will contain the name of the file which is to be included.
  5655. #
  5656. # Examples entries for this stanza include:
  5657. # file = /opt/pdwebrte/etc/cert-rules.txt
  5658. # file = www-default/lib/jmt.conf
  5659. # file = cfg(junction::jmt-map)
  5660. #
  5661. # The template configuration file will contain entries for the most commonly
  5662. # used files. Files which are not included in the default configuration
  5663. # include:
  5664. #
  5665. # stanza configuration entry
  5666. # ------ -------------------
  5667. # spnego spnego-krb-keytab-file
  5668. # cdsso-peers <full qualified host name>
  5669. # e-community-domain-keys <domain name>
  5670. # e-community-domain-keys:<domain> <domain name>
  5671. # dsess-cluster:<name> ssl-keyfile and ssl-keyfile-stash
  5672. # tfim-cluster:<name> ssl-keyfile and ssl-keyfile-stash
  5673. # http-transformations <resource name>
  5674. #
  5675.  
  5676. [cfg-db-cmd:files]
  5677.  
  5678. # Include the key file which is used when communicating with browsers
  5679. file = cfg(ssl::webseal-cert-keyfile)
  5680. file = cfg(ssl::webseal-cert-keyfile-stash)
  5681. file = cfg(junction::jct-cert-keyfile)
  5682. file = cfg(junction::jct-cert-keyfile-stash)
  5683. file = cfg(failover::failover-cookies-keyfile)
  5684. file = cfg(ltpa::keyfile)
  5685. file = cfg(junction::jmt-map)
  5686. file = cfg(server::dynurl-map)
  5687. file = cfg(dsess-cluster::ssl-keyfile)
  5688. file = cfg(dsess-cluster::ssl-keyfile-stash)
  5689. file = cfg(tfim-cluster:my-cluster::ssl-keyfile)
  5690. file = cfg(tfim-cluster:my-cluster::ssl-keyfile-stash)
  5691.  
  5692. # Include the key file which is used when communicating with junctioned
  5693. # Web servers.
  5694.  
  5695. # Include the failover cookie key file.
  5696.  
  5697. # Include the LTPA keyfile used during authentication
  5698.  
  5699. # Include the junction mapping table.
  5700.  
  5701. # Include the Dynamic URL map.
  5702.  
  5703. # Standard key files for the DSess and TFIM clusters
  5704.  
  5705. #
  5706. # The jdb-cmd:replace stanza is used to define the mapping rules
  5707. # for the jdb import command. These mapping rules will be applied
  5708. # to each attribute within the junction archive file prior to
  5709. # importing the new junction database.
  5710. #
  5711. # The format for entries contained within this stanza will be:
  5712. # {jct-id} = {search-attr-value}|{replace-attr-value}
  5713. #
  5714. # Where:
  5715. # {jct-id}: Refers to the junction point for a standard junction
  5716. # (including the leading '/'), or the virtual host
  5717. # label for a virtual host junction
  5718. # {search-attr-value}: The attribute value which is to be searched for
  5719. # within the junction definition.
  5720. # {replace-attr-value}: The attribute value which is to be used within the
  5721. # new junction definition.
  5722. #
  5723. # An example entry for this stanza could be:
  5724. # /test-jct = webseal.au.ibm.com|webseal.gc.au.ibm.com
  5725. #
  5726.  
  5727. [jdb-cmd:replace]
  5728.  
  5729. # The following stanza is used to house configuration information
  5730. # which is necessary for the support of WebSEAL clusters. WebSEAL
  5731. # clusters are used to automate the syncrhonization of data between
  5732. # different WebSEAL servers.
  5733.  
  5734. [cluster]
  5735.  
  5736. # Is this machine a master for the cluster? There should only ever
  5737. # be a single master for each cluster. Any modifications to the
  5738. # configuration of a cluster should only ever be made to the
  5739. # master.
  5740. #is-master = <yes/no>
  5741.  
  5742. # If is-master is set to 'no' then the following value needs to
  5743. # be specified. It is used to define the authorization server
  5744. # name of the master,
  5745. # e.g. default-webseald-server.ibm.com
  5746. # master-name = <azn-name>
  5747.  
  5748. # The maximum amount of time to wait, in seconds, for a slave
  5749. # server to be restarted. This configuration entry is only
  5750. # applicable to the master server.
  5751. max-wait-time = 60
  5752.  
  5753. [http-transformations]
  5754.  
  5755. # The http-transformations stanza is used to house configuration information
  5756. # which is necessary for the support of WebSEAL HTTP transformations.
  5757. # WebSEAL HTTP transformations are used to modify HTTP requests and
  5758. # HTTP responses (excluding the HTTP body) using XSLT.
  5759. # To enable the HTTP transformations for a particular object a POP should
  5760. # be attached to the appropriate part of the object space. This POP
  5761. # should contain an extended attribute(s) with name of 'HTTPTransformation'
  5762. # and a value of 'Request=<resource-name>' and/or 'Response=<resource-name>'.
  5763. #
  5764. # HTTP transformation resources can be defined by specifying the resource name
  5765. # and the path to the resource file.
  5766. #
  5767. # Format is:
  5768. # <resource-name> = <resource-xsl-file>
  5769.  
  5770. # The following files are currently available for this configuration entry:
  5771. # - <none available>
  5772.  
  5773. resource-name =
  5774.  
  5775. #
  5776. # The [http-transformations:<resource-name>] stanza is used to house
  5777. # configuration which is specific to a particular HTTP transformation resource.
  5778. #
  5779.  
  5780. [http-transformations:<resource-name>]
  5781.  
  5782. #
  5783. # The cred-attr-name configuration entry is used to define the
  5784. # credential attributes which will be included in the XML input
  5785. # document, used when evaluating the HTTP transformation rule.
  5786. #
  5787. # The credential attributes will be stored in a new XML
  5788. # element within the top level XML container: <Credential>.
  5789. # For example:
  5790. # <HTTPResponse>
  5791. # <Credential>
  5792. # <Attributes>
  5793. # <Attribute name=AZN_CRED_PRINCIPAL_NAME>testuser</Attribute>
  5794. # </Attributes>
  5795. # </Credential>
  5796. #
  5797. # </HTTPResponse>
  5798. #
  5799. # The configuration entry may be specified multiple times if
  5800. # multiple credential attributes are required in the XML input
  5801. # document.
  5802. #
  5803. # Some of the more common attributes include:
  5804. # AZN_CRED_PRINCIPAL_NAME
  5805. # AZN_CRED_AUTHZN_ID
  5806. # AZN_CRED_PRINCIPAL_UUID
  5807. # AUTHENTICATION_LEVEL
  5808. # tagvalue_session_index
  5809. #
  5810. # For a complete list of attributes the pdweb.wan.azn trace point can be
  5811. # set to level 9, and then a request sent to WebSEAL. The output trace will
  5812. # contain a list of all attributes associated with the user credential.
  5813. #
  5814. cred-attr-name =
  5815.  
  5816. #
  5817. # The request-match configuration entry is used to define the pattern to be
  5818. # matched against the HTTP request line, which includes method, URI, and
  5819. # protocol. If a match is successful, then a HTTP transformation is triggered.
  5820. #
  5821. # Format is:
  5822. # request-match = {request|response}:<request-line>
  5823. #
  5824. # The entry must begin with either request or response, which indicates whether
  5825. # the processing is conducted on the HTTP request or response.
  5826. # <request-line> contains the request line to be matched against. The pattern
  5827. # matching is case-sensitive. Wildcard characters * and ? can be used.
  5828. # This entry is optional. Multiple entries can be specified if needed.
  5829. #
  5830. # You also have the option of matching a request using a host header, useful
  5831. # when selectively enabling this functionality for a particular virtual host
  5832. # junction. To selectively match an entry based on a particular host header
  5833. # the <request-line> should be prepended with the string: [<host>].
  5834. #
  5835. # Please note that if you use this mechanism to match the request to a rule
  5836. # the evaluation of the rule will occur early in the request processing which
  5837. # means that credential attributes will not be available in the evaluation of
  5838. # the rule. If you need to use credential attributes in your request
  5839. # transformation you should use the alternative POP mechanism for invoking the
  5840. # rule.
  5841. #
  5842. # For example:
  5843. # request-match = request:GET /index.html HTTP/1.1
  5844. # request-match = response:GET /jct/*
  5845. # request-match = response:[www.ibm.com]GET /login/*
  5846. #
  5847. request-match =
  5848.  
  5849. #[ICAP:<resource>]
  5850. #
  5851. #
  5852. # The [ICAP:<resource>] stanza is used to define a single ICAP
  5853. # resource. The '<resource>' component of the stanza name should
  5854. # be changed to the actual name of the resource.
  5855. #
  5856. # To enable the ICAP resource for a particular object a POP should
  5857. # be attached to the appropriate part of the object space. This POP
  5858. # should contain an extended attribute with a name of 'ICAP' and
  5859. # a value which is equal to the name of the configured ICAP resource.
  5860. #
  5861. #
  5862. # The complete URL on which the ICAP server is expecting requests.
  5863. # An example might be:
  5864. # URL = icap://icap.example.net:1344/filter?mode=strict
  5865. #
  5866. # An SSL connection to the ICAP server is also supported. When
  5867. # using an SSL connection, the keystore used is that which is defined
  5868. # in the [junction] stanza of this file. To identify an SSL connection
  5869. # to an ICAP server, use the string 'icaps' for this entry. An
  5870. # example might be:
  5871. # URL = icaps://icap.example.net:1345/filter?mode=strict
  5872. #
  5873. # URL =
  5874. #
  5875. # The list of transactions for which this resource will be invoked.
  5876. #
  5877. # Possible values are:
  5878. # 'req': The ICAP server will be invoked on the HTTP request;
  5879. # 'rsp': The ICAP server will be invoked on the HTTP response;
  5880. #
  5881. # transaction = req
  5882. #
  5883. #
  5884. # The maximum length of time (in seconds) that WebSEAL will wait for
  5885. # a response from the ICAP server.
  5886. #
  5887. # timeout = 120
  5888. #
  5889. # If the connection to the ICAP server is SSL (see above) then an
  5890. # optional entry can be provided to identify the label of the
  5891. # certificate to use from the keystore. This entry is only required
  5892. # if client certificate authentication is needed.
  5893. #
  5894. # ssl-keyfile-label = <label>
  5895.  
  5896.  
  5897. [system-environment-variables]
  5898. KRB5_CONFIG = /var/PolicyDirector/etc/krb5.conf
  5899. KRB5RCACHEDIR = /var/PolicyDirector/log
  5900. VAR_ACE = /var/ace/
  5901.  
  5902. #
  5903. # Environment variables which are exported by the WebSEAL daemon.
  5904. # The environment variable names are case sensitive. The format
  5905. # of each entry is:
  5906. # <env-name> = <env-value>
  5907. #
  5908. # For example:
  5909. # LANG = de
  5910. #
  5911. # NB: This functionality is not available on Windows platforms, and
  5912. # as such the system-environment-variables stanza will be ignored on
  5913. # Windows.
  5914.  
  5915. [cert-map-authn]
  5916.  
  5917. #
  5918. # The name of the rules file which will be used by the certificate mapping
  5919. # CDAS.
  5920. #
  5921.  
  5922. # The following files are currently available for this configuration entry:
  5923. # - <none available>
  5924.  
  5925. rules-file =
  5926.  
  5927. #
  5928. # The initial tracing level of the authentication module. The level
  5929. # variable indicates the trace level, with 1 designating a minimal
  5930. # amount of tracing and 9 designating the maximum amount of tracing.
  5931. # The trace level can also be modified using the Tivoli Access Manager
  5932. # pdadmin trace commands, supplying the trace component name of
  5933. # pd.cas.certmap. This trace component is only available after the
  5934. # first HTTP request has been processed.
  5935. #
  5936. debug-level = 0
  5937.  
  5938. #
  5939. # The following stanza is used to configure WebSEAL so that it can
  5940. # communicate with a HTTP Server to retrieve updates to files.
  5941. #
  5942.  
  5943. [user-map-authn]
  5944.  
  5945. #
  5946. # The name of the rules file which will be used by the authenticated
  5947. # user mapping module.
  5948. #
  5949.  
  5950. # The following files are currently available for this configuration entry:
  5951. # - <none available>
  5952.  
  5953. rules-file =
  5954.  
  5955. #
  5956. # The initial tracing level of the mapping module. The level
  5957. # variable indicates the trace level, with 1 designating a minimal
  5958. # amount of tracing and 9 designating the maximum amount of tracing.
  5959. # The trace level can also be modified using the Tivoli Access Manager
  5960. # pdadmin trace commands, supplying the trace component name of
  5961. # pd.cas.usermap. This trace component is only available after the
  5962. # first HTTP request has been processed.
  5963. #
  5964. debug-level = 0
  5965.  
  5966. [password-strength]
  5967.  
  5968. #
  5969. # The name of the rules file which will be used by the password
  5970. # strength module.
  5971. #
  5972.  
  5973. # The following files are currently available for this configuration entry:
  5974. # - <none available>
  5975.  
  5976. rules-file =
  5977.  
  5978. #
  5979. # The initial tracing level of the password strength module. The level
  5980. # variable indicates the trace level, with 1 designating a minimal
  5981. # amount of tracing and 9 designating the maximum amount of tracing.
  5982. # The trace level can also be modified using the Tivoli Access Manager
  5983. # pdadmin trace commands, supplying the trace component name of
  5984. # pd.cas.pwdstrength. This trace component is only available after the
  5985. # first change password operation has been processed.
  5986. #
  5987. debug-level = 0
  5988.  
  5989. [http-updates]
  5990.  
  5991. #
  5992. # The URL which contains the HTTP file, for example:
  5993. # https://99.n.trusteer.com/74767/api/snippets
  5994. #
  5995.  
  5996. update-url =
  5997.  
  5998. #
  5999. # The proxy server which will be used when connecting to the HTTP server.
  6000. # The configuration entry should be of the form: <server>:<port>.
  6001. #
  6002.  
  6003. proxy =
  6004.  
  6005. #
  6006. # The label of the certificate which will be used for authentication
  6007. # to the HTTP server. This certificate must be present in the
  6008. # certificate database which is used for junction communication.
  6009. #
  6010.  
  6011. ssl-keyfile-label =
  6012.  
  6013. #
  6014. # The DN of the server. This configuration entry is only used if an
  6015. # SSL connection is established with the server and an SSL key file
  6016. # label has been specified.
  6017. #
  6018.  
  6019. ssl-server-dn =
  6020.  
  6021. #
  6022. # The frequency, in seconds, that the update server will be polled
  6023. # for updates.
  6024. #
  6025.  
  6026. poll-period = 3600
  6027.  
  6028. #
  6029. # The following configuration entry can be used to perform a search and
  6030. # replace on text which is contained within the updated files. The format
  6031. # of the configuration entry will be:
  6032. # replace = <search-pattern>|<replace-text>
  6033. #
  6034. # where:
  6035. # search-pattern = the regular expression pattern which is to be matched
  6036. # replace-text = the text which will replace the matched text
  6037. #
  6038. # The '|' character cannot be used in the search-pattern text.
  6039. #
  6040. # Multiple instances of this configuration entry can be used if multiple
  6041. # substitutions are required.
  6042. #
  6043.  
  6044. #
  6045. # The following 'itim' stanza is used to configure the Password Synchronization
  6046. # Adapter for Tiovli Identity Manager.
  6047. #
  6048. [itim]
  6049.  
  6050. #
  6051. # Is the adapter enabled?
  6052. #
  6053. is_enabled = false
  6054.  
  6055. #
  6056. # This is the hostname or IP address of the Tivoli Identity Manager
  6057. # server that hosts the Tivoli Identity Manager Adapter for Tivoli Access
  6058. # Manager. In a WebSphere Application Server cluster environment, you
  6059. # need to configure SSL for the IBM HTTP Server. If you are using a WebSphere
  6060. # Application Server single-server environment, you do not need to configure
  6061. # SSL for the IBM HTTP Server.
  6062. # * This entry is mandatory.
  6063. #
  6064. itim-server-name = <TIM Server IP address>
  6065.  
  6066. #
  6067. # The port associated with the itim-server-name URL above. The default
  6068. # HTTPS port is 9443 for a single server configuration and 443 for a
  6069. # Tivoli Identity Manager cluster with HTTP SSL configured.
  6070. #
  6071. #servlet-port=9443
  6072.  
  6073. #
  6074. # The password synchronization context root on the application server.
  6075. #
  6076. #servlet-context=/passwordsynch/synch
  6077.  
  6078. #
  6079. # An ID which has the necessary permission(s) to request the check and
  6080. # synchronization operations. The best practice is to create a separate
  6081. # account with appropriate permissions and use this account instead of
  6082. # the ITIM manager account.
  6083. # * This entry is mandatory.
  6084. #
  6085. principal-name = <Principal Name>
  6086.  
  6087. #
  6088. # The password for the Tivoli Identity Manager Principal Name.
  6089. # * This entry is mandatory.
  6090. #
  6091. principal-password = <Principal Password>
  6092.  
  6093. #
  6094. # The following three items hold the pseudo-distinguished names of the
  6095. # services (resources) issuing the password synchronization request. This
  6096. # pseudo-distinguised name consists of the attributes o, ou and dc from
  6097. # the Tivoli Identity Manager LDAP organization context, and the
  6098. # erservicename attribute of the Tivoli Access Manager service name, as
  6099. # defined in Tivoli Identity Manager.
  6100. #
  6101. # If there are more than one pseudo-distinguished names specified, they
  6102. # must be separated with a semicolon (;) character. The adapter iterates
  6103. # through the list of service names until an account is found for one of
  6104. # the services. If no account is found on the specified services, an error is
  6105. # reported.
  6106. # * It is mandatory to specify at least on of the following three entries.
  6107. #
  6108.  
  6109. #
  6110. # service-source-dn is used to define the service pseudo-distinguished
  6111. # name for all authentication methods.
  6112. #
  6113. service-source-dn = <service pseudo DN>
  6114.  
  6115. #
  6116. # service-password-dn is used to define the service pseudo-distinguished
  6117. # name if using standard password as the authentication method. If this is
  6118. # specified, it will override the password authentication method that is
  6119. # defined under service-source-dn.
  6120. #
  6121. #service-password-dn = <service pseudo DN>
  6122. #
  6123. # service-token-card-dn is used to define the service pseudo-distinguished
  6124. # name if using token card as the authentication method. If this is specified,
  6125. # it will override the token card authentication method that is defined under
  6126. # service-source-dn.
  6127. #
  6128. #service-token-card-dn = <service pseudo DN>
  6129. #
  6130. # The location and name of the Key Database file.
  6131. # * This entry is mandatory.
  6132. #
  6133.  
  6134. # The following files are currently available for this configuration entry:
  6135. # - pdsrv.kdb
  6136. # - lmi_trust_store.kdb
  6137. # - rt_profile_keys.kdb
  6138. # - embedded_ldap_keys.kdb
  6139.  
  6140. keydatabase-file =
  6141.  
  6142. #
  6143. # The password for the Key Database file.
  6144. # * Either this entry, or the keydatabase-password-file entry is
  6145. # mandatory.
  6146. #
  6147. #keydatabase-password = <kdb password>
  6148. #
  6149. # The password stash-file for the Key Database file.
  6150. # * Either this entry, or the keydatabase-password entry is
  6151. # mandatory.
  6152. #
  6153.  
  6154. # The following files are currently available for this configuration entry:
  6155. # - rt_profile_keys.sth
  6156. # - lmi_trust_store.sth
  6157. # - embedded_ldap_keys.sth
  6158. # - pdsrv.sth
  6159.  
  6160. keydatabase-password-file =
  6161.  
  6162.  
  6163.  
  6164. # Enable and configure Web Socket support.
  6165. [websocket]
  6166.  
  6167. # The maximum number of threads which will be used used to proxy
  6168. # WebSocket connections through WebSEAL. A value of zero will cause WebSockets
  6169. # to be blocked. Each WebSocket connection will require two worker threads.
  6170. # If more than max-worker-threads are in use WebSEAL will immediately close the
  6171. # WebSocket even if the WebSocket upgrade request to the Junction succeeded. The
  6172. # WebSocket threads operate independently from the [server] worker-threads.
  6173. max-worker-threads = 0
  6174.  
  6175. # To avoid the overhead of starting and stopping WebSocket worker threads
  6176. # a number of threads can be left running idle. This will consume memory
  6177. # resources to keep them alive and idle when not in use, but will save CPU and
  6178. # thread start-up time when a new WebSocket requires threads.
  6179. # This option specifies the maximum count of cached idle worker threads. A value
  6180. # of zero will disable the caching of idle threads.
  6181. idle-worker-threads = 0
  6182.  
  6183. # The number of seconds to wait for data to be received from the junctioned WebSocket
  6184. # server. If the timeout is reached the WebSocket connection will be closed.
  6185. jct-read-inactive-timeout = 120
  6186.  
  6187. # The number of seconds to wait for data to be received from the WebSocket client (browser).
  6188. # If the timeout is reached the WebSocket connection will be closed.
  6189. clt-read-inactive-timeout = 120
  6190.  
  6191. # The number of seconds to wait if WebSEAL is blocked while sending data to the
  6192. # junctioned WebSocket server. If the timeout is reached the WebSocket
  6193. # connection will be closed.
  6194. jct-write-blocked-timeout = 20
  6195.  
  6196. # The number of seconds to wait if WebSEAL is blocked while sending data to the
  6197. # WebSocket client (browser). If the timeout is reached the WebSocket
  6198. # connection will be closed.
  6199. clt-write-blocked-timeout = 20
  6200.  
  6201.  
  6202. [http-method-perms]
  6203.  
  6204. #
  6205. # This stanza defines the ACL permission bits required to perform a
  6206. # request using a particular HTTP method.
  6207. #
  6208. # The "<default>" entry defines the permissions required for any
  6209. # methods not explicitly specified in the stanza.
  6210. #
  6211. # The "<default>" entry itself has no default value and must be
  6212. # specified as a non-empty string in the stanza.
  6213. #
  6214. # This stanza may be overridden on a per-junction basis by qualifying
  6215. # the stanza name with the junction name. When overridden in this way
  6216. # only the entries in the qualified stanza will apply to the junction.
  6217. #
  6218. # For example:
  6219. #
  6220. # [http-method-perms]
  6221. # <default> = r
  6222. # POST = rx
  6223. #
  6224. # [http-method-perms:/myJunction]
  6225. # <default> = r
  6226. #
  6227. # In this scenario:
  6228. # - A POST request to /myJunction will require 'r' permission (from <default>)
  6229. # - A POST request to any other junction will require the 'rx' permissions
  6230. # Note that /myJunction does not inherit the "POST" entry from the global
  6231. # [http-method-perms] stanza.
  6232. #
  6233. # If this stanza is empty, WebSEAL will operate with the legacy behavior.
  6234. # The legacy behaviour is equivalent to:
  6235. #
  6236. # [http-method-perms]
  6237. # <default> = r
  6238. # PUT = m
  6239. # DELETE = d
  6240. #
  6241.  
  6242. #
  6243. # The oauth-eas configuration stanza is used to configure the EAS which
  6244. # communicates with TFIM to handle OAuth authorization. The EAS itself will
  6245. # be invoked for a particular object if the effective POP for the object has
  6246. # an attribute entitled "eas-trigger", with an associated value of
  6247. # "trigger_oauth_eas".
  6248. #
  6249.  
  6250. [oauth-eas]
  6251.  
  6252. # Should the EAS be enabled?
  6253. eas-enabled = false
  6254.  
  6255. # A majority of the OAuth settings exist in the [oauth] stanza. These are
  6256. # specific to the OAuth EAS implementation.
  6257.  
  6258. # The maximum number of OAuth 2.0 bearer token authorization decisions to cache.
  6259. # This EAS has a built in cache for storing authorization decisions so that
  6260. # repeated use of the same OAuth 2.0 bearer token does not require repeated
  6261. # authorization requests. Bearer token decisions can be cached because they do not
  6262. # require signing of the request, unlike OAuth 1.0 requests. The lifetime of the
  6263. # cache entry is based on the Expires attribute returned in the STS. If this
  6264. # attribute is not returned, the decision will not be cached.
  6265. #
  6266. # This EAS implements a Least Recently Used cache, meaning the decision
  6267. # associated with the least recently used bearer token will be forgotten when a
  6268. # new bearer token decision is cached. A cache-size of 0 will disable caching of
  6269. # authorization decisions
  6270. cache-size = 0
  6271.  
  6272. # The default OAuth mode that this EAS will operate under. It affects the
  6273. # validation of request parameters, as well as the construction of the RST. The
  6274. # default mode can be overriden for an individual request by providing a valid
  6275. # mode value [OAuth10|OAuth20Bearer] in a request parameter with the name
  6276. # specified in the mode-param option below.
  6277. default-mode = OAuth10
  6278.  
  6279. # The name of the request parameter that can be used to override the
  6280. # default-mode option configured above. By deleting this configuration
  6281. # option, you can enforce that the default mode is always used.
  6282. mode-param = mode
  6283.  
  6284. # The name of the OAuth realm which will be used in a 401 request
  6285. # for OAuth data.
  6286. realm-name = ISAM
  6287.  
  6288. # The name of the file which contains the body used when constructing a
  6289. # '400 Bad Request' response. This response will be generated when
  6290. # required OAuth elements are missing from a request.
  6291.  
  6292. # The following files are currently available for this configuration entry:
  6293. # - oauth_template_rsp_400_bad_request.html
  6294. # - oauth_template_rsp_502_bad_gateway.html
  6295. # - oauth_template_rsp_401_unauthorized.html
  6296.  
  6297. bad-request-rsp-file = oauth_template_rsp_400_bad_request.html
  6298.  
  6299. # The name of the file which contains the body used when constructing a
  6300. # '401 Unauthorized' response. This response will be generated when:
  6301. # - all OAuth data is missing from a request, or
  6302. # - the OAuth data fails validation.
  6303.  
  6304. # The following files are currently available for this configuration entry:
  6305. # - oauth_template_rsp_400_bad_request.html
  6306. # - oauth_template_rsp_502_bad_gateway.html
  6307. # - oauth_template_rsp_401_unauthorized.html
  6308.  
  6309. unauthorized-rsp-file = oauth_template_rsp_401_unauthorized.html
  6310.  
  6311. # The name of the file which contains the body used when constructing a
  6312. # '502 Bad Gateway' response. This response will be generated when the
  6313. # processing of the request fails.
  6314.  
  6315. # The following files are currently available for this configuration entry:
  6316. # - oauth_template_rsp_400_bad_request.html
  6317. # - oauth_template_rsp_502_bad_gateway.html
  6318. # - oauth_template_rsp_401_unauthorized.html
  6319.  
  6320. bad-gateway-rsp-file = oauth_template_rsp_502_bad_gateway.html
  6321.  
  6322. # The name of the TAM trace component which is used by the EAS.
  6323. trace-component = pdweb.oauth
  6324.  
  6325. # Should the native TAM ACL policy still take affect, in addition to the
  6326. # OAuth authorization?
  6327. apply-tam-native-policy = false
  6328.  
  6329.  
  6330. #
  6331. # The rtss-eas configuration stanza is used to configure the EAS which
  6332. # communicates with the RBA server. The EAS itself will be invoked for a
  6333. # particular object if the effective POP for the object has an attribute
  6334. # entitled "eas-trigger", with an associated value of "trigger_rba_eas".
  6335. #
  6336.  
  6337. ################################################################################
  6338. # Risk Based Access (RBA) External Authorization Service (EAS) Settings
  6339. #
  6340. # BEGIN
  6341. #
  6342. ################################################################################
  6343. [rtss-eas]
  6344. # Specify the name of the IBM Security Access Manager trace component that the
  6345. # EAS uses
  6346.  
  6347. trace-component = pdweb.rtss
  6348.  
  6349. # Set this property to true if you want the EAS to first check with IBM(r)
  6350. # Security Access Manager whether the user has permission to access the
  6351. # resource based on the ACL set.
  6352.  
  6353. apply-tam-native-policy = true
  6354.  
  6355. # Defines the context-id (Policy ID) that is used in the XACML requests that are
  6356. # sent by the EAS to the RTSS. Set this entry to one of the following values:
  6357. #
  6358. # context-server-name
  6359. # to use the WebSEAL server-name for all requests.
  6360. #
  6361. # context-inherited-pop
  6362. # to use the location of the inherited POP for all requests. Use
  6363. # this value if you require multiple policies for different
  6364. # portions of the protected resource tree.
  6365. #
  6366. # <other-policy-id>
  6367. # Use this value as the Policy ID for all requests.
  6368. #
  6369. # If the context-id parameter is not set, the WebSEAL server-name is used as
  6370. # the default value.
  6371.  
  6372. # context-id =
  6373.  
  6374. # The audit logging configuration. This entry consists
  6375. # of an agent identifier, followed by attributes which are
  6376. # associated with the agent. Each attribute consists of a
  6377. # name/value pair, separated by '=', and each attribute is
  6378. # separated by ','.
  6379. #
  6380. # For example, to configure the auditing of records to a file:
  6381. # audit-log-cfg = file path=/tmp/rtss-audit.log,flush=20,rollover=2000000,buffer_size=8192,queue_size=48
  6382. # To send audit logs to STDOUT:
  6383. # audit-log-cfg = STDOUT
  6384. #
  6385. # If this attribute is missing or not configured, no audit
  6386. # events will be logged.
  6387.  
  6388. # audit-log-cfg =
  6389.  
  6390.  
  6391.  
  6392. # Specify the name of the runtime security services SOAP cluster
  6393. # that contains this runtime security services SOAP service.
  6394. # Also specify a corresponding [rtss-cluster:<cluster>]
  6395. # stanza with the definition of the cluster.
  6396.  
  6397. cluster-name = cluster1
  6398.  
  6399. # ISAM for Mobile receives a credential from the RBA EAS that contains
  6400. # attributes for use in performing a risk assessment. This is called the
  6401. # "RBA EAS credential" and is not the same as the WebSEAL credential, though it
  6402. # may contain attributes with the same names.
  6403. #
  6404. # The client IP address is passed to the RBA EAS in the
  6405. # AZN_CRED_NETWORK_ADDRESS_STR RBA EAS credential attribute. In previous
  6406. # versions, this contained the client IP that was used when the WebSEAL
  6407. # credential was built, regardless of whether the client IP changed during the
  6408. # session.
  6409. #
  6410. # That default behavior changes if WebSEAL is configured to pass the current
  6411. # client IP address to the EAS in the [azn-decision-info] stanza. In order to
  6412. # ensure that risk assessment is being performed using the most current
  6413. # information, the AZN_CRED_NETWORK_ADDRESS_STR RBA EAS credential attribute
  6414. # will contain the client IP address used for the current request. Setting
  6415. # use_real_client_ip to 'false' provides backwards compatibility and enables
  6416. # the previous behavior.
  6417. #
  6418. # use_real_client_ip = false
  6419.  
  6420.  
  6421. # Previous versions of RBA used the "value" of an [azn-decision-info] stanza
  6422. # entry (i.e. the "right side") as it's attribute ID. This version of RBA
  6423. # uses the "key" of an [azn-decision-info] stanza entry (i.e. the "left side")
  6424. # as the attribute ID. To enable the behavior with previous releases, use
  6425. # the following setting:
  6426. #
  6427. # provide_700_attribute_ids = true
  6428.  
  6429.  
  6430. # The EAS contacts the runtime security services servers to make an access
  6431. # decision. The [rtss-cluster] stanza below determines which servers to contact.
  6432. # If none of the specified servers are available, an error is returned and no
  6433. # access is permitted. If you do not want this behavior, you can use the
  6434. # following permit-when-no-rtss-available entry to permit all requests when no
  6435. # servers are available. The default value is false.
  6436. #
  6437. # permit-when-no-rtss-available = true
  6438. #
  6439. # Caution: With this setting, every single request will be permitted only when
  6440. # none of the runtime security services servers are available. This includes
  6441. # access that might not be permitted if the server was available.
  6442.  
  6443. # Size of the RTSS decision cache.
  6444. # Decision caching is enabled by setting the attribute "CBACacheResult" to a
  6445. # non-zero value on the protected object that has the RTSS EAS enabled POP
  6446. # attached to it. The enablement applies to all child protected objects unless
  6447. # overridden by an RTSS EAS enabled POP attached to one of the children.
  6448. # When the cache is full it will discard the least recently used entry to make
  6449. # room for a new entry. Please read the documentation for this configuration
  6450. # entry to understand the limitations of using the decision cache.
  6451. #
  6452. # Notes:
  6453. # 1) The permitted values for the protected object attribute CBACacheResult are:
  6454. # -1 : Cache decision for lifetime of user's session.
  6455. # 0 : Disable caching
  6456. # >0 : Number of seconds to cache decision.
  6457. # 2) If cba_cache-size is set to a value less than 512 it will use a value of 512.
  6458. #
  6459. # cba-cache-size = 16384
  6460.  
  6461.  
  6462. [rtss-cluster:cluster1]
  6463. # Specify the definitions for a cluster of runtime security services
  6464. # SOAP servers in this stanza.
  6465.  
  6466. # Define the specifications of the server that you use to communicate
  6467. # with a single runtime security services SOAP server,
  6468. # which is a member of this cluster.
  6469. # Values for this entry are defined as:
  6470. # {[0-9],}<URL>
  6471. # where the first digit (if present) represents the priority of the server
  6472. # in the cluster (9 being the highest, 0 being lowest). A priority of 9 is
  6473. # assumed if you do not specify a priority. The <URL> can be any
  6474. # well-formed HTTP or HTTPS URL.
  6475.  
  6476. # You can specify multiple server entries for failover and load balancing
  6477. # purposes. The complete set of these server entries defines the
  6478. # membership of the cluster for failover and load balancing.
  6479.  
  6480. # The following is an example of an HTTP URL
  6481. # server = 9,http://localhost:9080/rtss/authz/services/AuthzService
  6482.  
  6483. # The following is an example of an HTTPS URL. You will also need to ensure that
  6484. # your SSL configuration below is correct.
  6485. #server = 9,https://localhost:9443/rtss/authz/services/AuthzService
  6486.  
  6487. # Specify the maximum number of cached handles that are used when
  6488. # communicating with runtime security services SOAP.
  6489.  
  6490. handle-pool-size = 10
  6491.  
  6492. # Specify the length of time, in seconds, before an idle handle is removed
  6493. # from the handle pool cache.
  6494.  
  6495. handle-idle-timeout = 240
  6496.  
  6497. # Specify the length of time, in seconds, to wait for a response from
  6498. # runtime security services SOAP.
  6499.  
  6500. timeout = 240
  6501.  
  6502. # You can use the following optional configuration entries if
  6503. # the runtime security services SOAP server is configured to require
  6504. # basic authentication. If you leave these entries blank,
  6505. # the basic authentication header is not provided when communicating
  6506. # with the runtime security services SOAP server.
  6507.  
  6508. # Specify the name of the user for the basic authentication header.
  6509.  
  6510. basic-auth-user =
  6511.  
  6512. #
  6513. # The following SSL entries are optional and are only required if:
  6514. # 1. At least one server entry indicates that SSL is to be used (i.e.
  6515. # starts with https:)
  6516. # 2. A certificate is required other than that which is used by this server
  6517. # when communicating with the policy server (details of the
  6518. # default certificate can be found in the [ssl] stanza of this
  6519. # configuration file.
  6520. #
  6521. # If these entries are required and are not found within this stanza, the
  6522. # default [ssl] stanza will be searched.
  6523. #
  6524. #
  6525. # The name of the key database file which houses the client certificate to be
  6526. # used.
  6527. #
  6528. # ssl-keyfile =
  6529.  
  6530. #
  6531. # The name of the password stash file for the key database file.
  6532. #
  6533. # ssl-keyfile-stash =
  6534.  
  6535. #
  6536. # The label of the client certificate within the key database.
  6537. #
  6538. # ssl-keyfile-label =
  6539.  
  6540. #
  6541. # This configuration entry specifies the DN of the server (obtained from the
  6542. # server SSL certificate) which will be accepted. If no entry is configured
  6543. # all DN's will be considered to be valid. Multiple DN's can be specified by
  6544. # including multiple configuration entries of this name.
  6545. #
  6546. # ssl-valid-server-dn =
  6547.  
  6548. #
  6549. # The entry controls whether FIPS communication is enabled with RTSS/SOAP or
  6550. # not. If no configuration entry is present the global FIPS setting (as
  6551. # determined by the TAM policy server) will take effect.
  6552. #
  6553. # ssl-fips-enabled =
  6554.  
  6555. # Configure NIST SP800-131A compliance mode. This will have the affect of:
  6556. # - enabling FIPS mode processing (over-riding the value of the
  6557. # ssl-fips-enabled configuration entry);
  6558. # - enabling TLS V1.2;
  6559. # - enabling the appropriate signature algorithms;
  6560. # - setting the minimum RSA key size to 2048 bytes.
  6561. #
  6562. # If no configuration entry is present the global NIST setting (as found in
  6563. # the [ssl] stanza) will be used.
  6564. #
  6565. # ssl-nist-compliance = no
  6566.  
  6567. # Define the mappings between the obligation levels that the policy decision
  6568. # point (PDP) returns and the WebSEAL step-up authentication levels.
  6569. # The mapping must be one-to-one and the user must be permitted to authenticate
  6570. # only through the appropriate obligation mechanisms. These entries ensure that
  6571. # the EAS maps the obligations to the authentication levels and vice versa
  6572. # correctly.
  6573.  
  6574. [obligations-levels-mapping]
  6575. life_questions = 2
  6576. otp = 3
  6577. email = 4
  6578. voice = 5
  6579.  
  6580.  
  6581. # Define the mappings between the obligation that the policy decision point
  6582. # (PDP) returns and a URL that will attempt to satisfy the obligation.
  6583. # The mapping must be one-to-one and the user must be permitted to authenticate
  6584. # only through the appropriate obligation mechanisms. When the EAS receives
  6585. # this obligation, the user is redirected to the URL provided.
  6586. # Entries in this stanza must be unique with regard to the entries in the
  6587. # [obligations-levels-mapping] stanza.
  6588. #
  6589. # You can also use wildcard obligations in this stanza. Add an asterisk at the
  6590. # end of an obligation to indicate that all obligations found that match this
  6591. # entry, up to but not including the asterisk, are redirected to the URL value.
  6592. # Exact matches are used first. Then, if no match is found, wildcard matches
  6593. # are used.
  6594. #
  6595. # For example, to redirect all obligations that start with urn:example to
  6596. # http://www.example.com, add the following entry:
  6597. #
  6598. # urn:example:* = http://www.example.com
  6599. #
  6600. [obligations-urls-mapping]
  6601. # obligation1 = https://example.com/FIM/sps/xauth?AuthenticationLevel=1
  6602.  
  6603.  
  6604. # Provide the data type for any entry in the [azn-decision-info] stanza that is
  6605. # not a string. For each entry in the [azn-decision-info] stanza, risk-based
  6606. # access must know its data type. By default, all entries are of data type
  6607. # string. If an entry is not of data type string, you must create an entry
  6608. # in this stanza to define the data type. Valid data types are: string, integer,
  6609. # boolean, double, x500name, time and date.
  6610. # For example, if the following entry exists in the [azn-decision-info] stanza:
  6611. #
  6612. # urn:example:company:txn:value = post-data:/"accountBalances"/"savings"
  6613. #
  6614. # and its data type is double, you must create an entry to define this.
  6615. # Append .datatype to the attribute ID (urn:example:company:txn:value) and
  6616. # specify double, as follows:
  6617. #
  6618. # urn:example:company:txn:value.datatype = double
  6619. #
  6620. # Also, provide the category for any entry in the [azn-decision-info] stanza
  6621. # that is not Environment. For each entry in the [azn-decision-info] stanza,
  6622. # risk-based access must know its category. By default, all entries are of
  6623. # category Environment. If an entry is not of category Environment, you must
  6624. # create an entry in this stanza to define the category. Valid categories are:
  6625. # Environment, Action, Subject and Resource.
  6626. # For example, if the following entry exists in the [azn-decision-info] stanza:
  6627. #
  6628. # urn:example:company:txn:userid = post-data:/"userid"
  6629. #
  6630. # and its category is Subject, you must create an entry to define this.
  6631. # Append .category to the attribute ID (urn:example:company:txn:userid) and
  6632. # specify Subject, as follows:
  6633. #
  6634. # urn:example:company:txn:userid.category = Subject
  6635. #
  6636. [user-attribute-definitions]
  6637.  
  6638.  
  6639.  
  6640. ################################################################################
  6641. # Risk Based Access (RBA) External Authorization Service (EAS) Settings
  6642. #
  6643. # END
  6644. #
  6645. ################################################################################
  6646.  
  6647.  
  6648. #
  6649. # The PAM stanza is used to house the configuration data which
  6650. # is required for the PAM integration. The PAM functionality
  6651. # is used to provide deep content packet inspection on selected
  6652. # requests, checking for potential security vulnerabilities.
  6653. #
  6654.  
  6655. [PAM]
  6656.  
  6657. #
  6658. # Whether PAM analysis is enabled.
  6659. #
  6660. pam-enabled = false
  6661.  
  6662. #
  6663. # If simulation mode is enabled any issues which are detected will be
  6664. # audited and then ignored. This provides a mechanism for allowing the
  6665. # administrator to see what issues are being detected without having an
  6666. # impact on the client traffic.
  6667. #
  6668. pam-simulation-mode-enabled = false
  6669.  
  6670. #
  6671. # The amount of memory, in bytes, which can be consumed by
  6672. # PAM. This allows PAM to tune the size of its caches for the
  6673. # amount of available memory.
  6674. #
  6675. pam-max-memory = 16777216
  6676.  
  6677. #
  6678. # The following item controls whether the X-Forwarded-For header
  6679. # is used to identify the client. This configuration item is useful
  6680. # if a network terminating proxy is sitting between the server and the
  6681. # client. If the value is set to false the client will be identified
  6682. # based on the socket connection information.
  6683. #
  6684. pam-use-proxy-header = false
  6685.  
  6686. #
  6687. # Any specific parameters which should be passed to the PAM
  6688. # HTTP interface during initialization. Refer to the PAM
  6689. # documentation for a list of valid PAM parameters.
  6690. #
  6691. # The configuration entry may be specified multiple times,
  6692. # one for each PAM parameter. The entry should be of the
  6693. # format:
  6694. # pam-http-parameter = <parameter>:<value>
  6695.  
  6696. #
  6697. # Any specific parameters which should be passed to the PAM
  6698. # coalescer interface. This interface is used to combine
  6699. # related PAM issues into a single event. Refer to the PAM
  6700. # documentation for a list of valid parameters.
  6701. #
  6702. # The configuration entry may be specified multiple times,
  6703. # one for each coalescer parameter. The entry should be of
  6704. # the format:
  6705. # pam-coalescer-parameter = <parameter>:<value>
  6706. #
  6707. # For example:
  6708. pam-coalescer-parameter = combine:on
  6709.  
  6710. #
  6711. # The logging configuration. The logging configuration consists
  6712. # of an agent identifier, followed by attributes which are
  6713. # associated with the agent. Each attribute consists of a
  6714. # name/value pair, separated by '=', and each attribute is
  6715. # separated by ','.
  6716. #
  6717. # For example, to configure the auditing of records to a file:
  6718. # file path=pam.log,flush_interval=20,rollover_size=2000000
  6719. #
  6720. pam-log-cfg = file path=pam.log,flush_interval=20,rollover_size=2000000
  6721.  
  6722. #
  6723. # Should the audit events be sent to the PAM log file?
  6724. # It is worth noting that the number of logged events
  6725. # will increase dramatically if this option is enabled.
  6726. #
  6727. pam-log-audit-events = false
  6728.  
  6729. #
  6730. # PAM statistics can be enabled to provide a dashboard widget
  6731. # on the Web Gateway Appliance which displays a 30 day
  6732. # historical summary of the actions taken by PAM. This
  6733. # functionality records how many times WebSEAL has performed
  6734. # an action based on this instance's PAM configuration.
  6735. #
  6736. enable-pam-statistics = true
  6737.  
  6738. #
  6739. # The pam-statistics-bucket-interval item controls the granularity
  6740. # of the buckets which the actions are stored in. The default
  6741. # value is 600, or ten minutes. This data is stored in buckets
  6742. # of the defined size for the first seven days. All records are
  6743. # also coalesced into daily buckets for the first 30 days.
  6744. #
  6745. pam-statistics-bucket-interval = 600
  6746.  
  6747. #
  6748. # Define which PAM issues will be disabled (by default all PAM
  6749. # issues are enabled). The configuration entry is a comma
  6750. # separated list. Each issue contained within the
  6751. # list will be disabled.
  6752. #
  6753. # For example:
  6754. # to disable Ace_Filename_Overflow and HTTPS_Apache_ClearText_DoS:
  6755. # pam-disabled-issues = 2121050,2114033
  6756. #
  6757. pam-disabled-issues =
  6758.  
  6759. # The rules which should be applied to determine whether
  6760. # a particular resource should be passed down to the PAM
  6761. # layer or not. Each rule will be examined in sequence
  6762. # until a match is found. The first successful match
  6763. # will determine whether the request is passed to the
  6764. # PAM layer or not. The request will not be passed to
  6765. # the PAM layer if no match is found.
  6766. #
  6767. # Multiple entries may be specified, and each entry
  6768. # should be of the format:
  6769. # pam-resource-rule = [+-]{uri}
  6770. #
  6771. # where:
  6772. # + : Indicates that matching requests should be
  6773. # passed to the PAM layer.
  6774. # - : Indicates that matching requests should not
  6775. # be passed to the PAM layer.
  6776. # {uri} : Contains a pattern which is used to match
  6777. # against the URI which is found in the
  6778. # request. The wildcard characters '*'
  6779. # and '?' may be used.
  6780. #
  6781. # For example:
  6782. # pam-resource-rule = -*.gif
  6783. # pam-resource-rule = +*.html
  6784. #
  6785.  
  6786. #
  6787. # The following stanza can be used to customize the
  6788. # PAM processing for individual resources and events.
  6789. # The name of the stanza should be of the format:
  6790. # [pam-resource:{uri}]
  6791. #
  6792. # where:
  6793. # {uri} : Contains a pattern which is used to match
  6794. # against the URI which is found in the
  6795. # request. The wildcard characters '*' and
  6796. # '?' may be used.
  6797. #
  6798. # For example:
  6799. # [pam-resource:*.js]
  6800. #
  6801.  
  6802. [pam-resource:test.html]
  6803.  
  6804. #
  6805. # The entries contained within this stanza are used
  6806. # to control the processing of certain PAM related
  6807. # events. Each entry will be of the format:
  6808. # {pam-issue} = {action}
  6809. #
  6810. # where:
  6811. # {pam-issue} : Contains a pattern which is used to
  6812. # match a PAM issue. The wildcard
  6813. # characters '*' and '?' may be
  6814. # used.
  6815. # {action} : The action which is to be undertaken
  6816. # for the issue. The action can be
  6817. # one of the following:
  6818. # - block: Blocks the connection for
  6819. # a specified number of seconds,
  6820. # e.g. block:30;
  6821. # - ignore: Ignore the issue and
  6822. # continue to process the request;
  6823. #
  6824. # For example:
  6825. # 212105? = block:0
  6826. # 2119002 = block:20
  6827.  
  6828.  
  6829.  
  6830. [flow-data]
  6831.  
  6832. #
  6833. # WebSEAL on the Web Gateway Appliance can record performance data to be
  6834. # viewed using the LMI. This mechanism records the number of requests
  6835. # received by this WebSEAL instance along with the user-agent and junction
  6836. # which processed the request.
  6837. #
  6838. # User-agent strings are stored based on the configuration of the
  6839. # [user-agents] stanza. The [user-agents] stanza must be configured in
  6840. # order to use this functionality.
  6841. #
  6842. # This data is stored at a fine granularity for the first seven days, and
  6843. # as daily aggregations for the first thirty. Any data older than thirty
  6844. # days is discarded.
  6845. #
  6846.  
  6847. flow-data-enabled = true
  6848.  
  6849. #
  6850. # The interval defined here is the granularity of the data recorded.
  6851. # WebSEAL will aggregate the collected data into buckets of this size and
  6852. # will perform database commit operations each time this interval is
  6853. # complete.
  6854. #
  6855. # Note that after seven days, data is only kept in the daily (24 hour)
  6856. # buckets.
  6857. #
  6858. # This interval is given in seconds.
  6859. #
  6860.  
  6861. flow-data-db-interval = 600
  6862.  
  6863. [user-agents]
  6864.  
  6865. #
  6866. # This stanza allows WebSEAL to map arbitrary user-agent strings to defined
  6867. # categories for logging purposes. Each entry should be of the following
  6868. # format: <category> = <pattern>
  6869. #
  6870. # The category is the string that will be recorded for user-agent strings
  6871. # which match the pattern. The pattern supports the wildcard characters
  6872. # '*' and '?'.
  6873. #
  6874. # A category can be defined multiple times if more than one pattern will
  6875. # match a category.
  6876. #
  6877. # Note: This stanza must include one entry with the match-all pattern '*'.
  6878. #
  6879.  
  6880. CHROME = *chrome*
  6881. FIREFOX = *firefox*
  6882. SAFARI = *safari*
  6883. OPERA = *opera*
  6884. IE = *msie*
  6885. MSOFFICE = *office*
  6886. MSOFFICE = *outlook*
  6887. ANDROID = *android*
  6888. IOS = *ios*
  6889. SUNDRY = *
  6890.  
  6891.  
  6892. [manager]
  6893. master-host = iam
Add Comment
Please, Sign In to add comment