1myproxy-server.config(5) MyProxy myproxy-server.config(5)
2
3
4
6 myproxy-server.config - myproxy-server configuration file
7
9 The myproxy-server.config file sets the policy for the myproxy-
10 server(8), specifying what credentials may be stored in the server's
11 repository, who is authorized to retrieve credentials, and other con‐
12 figurable server behaviors. By default, the myproxy-server(8) looks
13 for this file in /etc/myproxy-server.config and if it is not found
14 there, it looks in $GLOBUS_LOCATION/etc/myproxy-server.config. A tem‐
15 plate is provided at $GLOBUS_LOCATION/share/myproxy/myproxy-server.con‐
16 fig. The myproxy-server -c option can be used to specify an alterna‐
17 tive location.
18
19 The following lines in the configuration file use limited regular
20 expressions for matching the distinguished names (DNs) of classes of
21 users. The limited regular expressions support the shell-stype charac‐
22 ters '*' and '?', where '*' matches any (zero or more) number of char‐
23 acters and '?' matches any single (zero or one) character. The DN lim‐
24 ited regexes should be delimited with double quotes (“DN regex”).
25 Internally MyProxy uses the POSIX Extended Regular Expression matching
26 facilities where available. Hence, if any one of the metacharacters “.
27 [ ] ( ) { } ^ $ + |” is used without being escaped with a '\', it is
28 automatically escaped by MyProxy to prevent it from being interpreted
29 as an extended regular expression metacharacter. The user can also
30 explicitly escape a metacharacter by immediately preceding it with an
31 unescaped escape character '\'. A '\' can also be explicitly escaped by
32 an immediately preceding unescaped escape character. For example, the
33 metacharacter '|' in “\\|” would be automatically escaped as in “\\\|”
34 with the second '\' considered escaped by the first '\'. However the
35 metacharacter '|' in “\\\|” would NOT be automatically escaped since
36 the third '\' is considered to have explicitly escaped '|'.
37
38 accepted_credentials “DN regex”
39 Each of these lines allows any clients whose DNs match the given
40 limited regex to connect to the myproxy-server and store creden‐
41 tials with it for future retrieval. Any number of these lines
42 may appear. For backwards compatibility, these lines can also
43 start with allowed_clients instead of accepted_credentials. If
44 no accepted_credentials lines are specified, the server will not
45 allow any clients to store credentials.
46
47 authorized_retrievers “DN regex”
48 Each of these lines allows the server administrator to set
49 server-wide policies for credential retrievers. If the client DN
50 does not match the given limited regex, the client is not
51 allowed to retrieve credentials from the server. In addition to
52 the server-wide policy, myproxy also provides support for per-
53 credential policy. The user can specify the regex DN of the
54 allowed retrievers of the credential when uploading the creden‐
55 tial (using myproxy-init(1) or myproxy-store(1)). The retrieval
56 client DN must also match the user specified regex. In order to
57 retrieve credentials the client also needs to know the name and
58 pass phrase provided by the client when the credentials were
59 stored. Any number of these lines may appear. For backwards
60 compatibility, these lines can also start with allowed_services
61 instead of authorized_retrievers. If no authorized_retrievers
62 lines are specified, the server will not allow any clients to
63 retrieve credentials.
64
65 default_retrievers “DN regex”
66 Each of these lines allows the server administrator to set
67 server-wide default policies. The regex specifies the clients
68 who can access the credentials. The default retriever policy is
69 enforced if a per-credential policy is not specified on upload
70 (using myproxy-init(1) or myproxy-store(1)). In other words,
71 the client can override this policy for a credential on upload.
72 The per-credential policy is enforced in addition to the server-
73 wide policy specified by the authorized_retrievers line (which
74 clients can not override). Any number of these lines may be
75 present. For backwards compatibility, if no default_retrievers
76 line is specified, the default policy is "*", which allows any
77 client to pass the per-credential policy check. (The client
78 must still pass the authorized_retrievers check.)
79
80 authorized_renewers “DN regex”
81 Each of these lines allows the server administrator to set
82 server-wide policies for authorized renewers. If the client DN
83 does not match the given limited regex the client is not allowed
84 to renew the credentials previously stored by a client. See
85 allow_self_authorization below for a further restriction on this
86 policy. In addition to the server-wide policy, myproxy also
87 provides support for per-credential policy. The user can specify
88 the regex DN of the allowed renewers of the credential on upload
89 (using myproxy-init(1)). The renewal client DN must match both
90 this regex and the user specified regex. In this case, the
91 client must also already have a credential with a DN matching
92 the DN of the credentials to be retrieved, to be used in a sec‐
93 ond authorization step (see the -a options for myproxy-logon(1)
94 and myproxy-retrieve(1)).
95
96 default_renewers “DN regex”
97 Each of these lines allows the server administrator to set
98 server-wide default renewer policies. The regex specifies the
99 clients who can renew the credentials. The default renewer pol‐
100 icy is enforced if a per-credential policy is not specified on
101 upload (using myproxy-init(1)). This is enforced in addition to
102 the server-wide policy specified by the authorized_renewers
103 line. Any number of these lines may appear. For backwards com‐
104 patibility, if no default_renewers line is specified, the
105 default policy is "*", which allows any client to pass the per-
106 credential policy check. (The client must still pass the autho‐
107 rized_renewers check.)
108
109 authorized_key_retrievers “DN regex”
110 This policy controls who can retrieve credentials (certificates
111 and keys) directly from the repository using myproxy-
112 retrieve(1). Clients must also match the authorized_retrievers
113 policy. If no authorized_key_retrievers lines are specified,
114 the server will not allow any clients to retrieve keys directly
115 from the repository.
116
117 default_key_retrievers “DN regex”
118 This policy applies if a per-credential policy is not specified
119 on upload (using myproxy-init(1) or myproxy-store(1)). In other
120 words, the client can override this policy for a credential on
121 upload. The per-credential policy is enforced in addition to
122 the server-wide policy specified by the authorized_key_retriev‐
123 ers line (which clients can not override). Any number of these
124 lines may be present. If no default_key_retrievers line is
125 specified, the default policy is "*", which allows any client to
126 pass the per-credential policy check. (The client must still
127 pass the authorized_key_retrievers check.)
128
129 trusted_retrievers “DN regex”
130 This policy controls who can retrieve credentials without fur‐
131 ther authentication. By default, clients that match autho‐
132 rized_retrievers must perform additional authentication (such as
133 passphrase, PAM, or SASL) to retrieve credentials. However,
134 authenticated clients that match both authorized_retrievers and
135 trusted_retrievers do not need to perform additional authentica‐
136 tion, unless the credentials are protected by a passphrase, in
137 which case the passphrase is still required. Note: The myproxy-
138 server(8) will fail on startup or reconfig with an "unsafe pol‐
139 icy" error if a policy of trusted_retrievers “*” is specified
140 without also specifying a restrictive default_trusted_retrievers
141 policy, to avoid an unsafe policy that would release credentials
142 to all clients without additional authentication. See also
143 allow_self_authorization below for a further restriction on this
144 policy.
145
146 default_trusted_retrievers “DN regex”
147 If a user doesn't set a trusted retrieval policy with the cre‐
148 dential on upload (via 'myproxy-init -Z'), the myproxy-server(8)
149 will apply the following policy in addition to the
150 trusted_retrievers policy. If no default_trusted_retrievers
151 policy is set, then only the trusted_retrievers policy is
152 applied.
153
154 The following lines in the configuration file set other server options.
155
156 passphrase_policy_program full-path-to-script
157 This line specifies a program to run whenever a passphrase is
158 set or changed for implementing a local password policy. The
159 program is passed the new passphrase via stdin and is passed the
160 following arguments: username, distinguished name, credential
161 name (if any), per-credential retriever policy (if any), and
162 per-credential renewal policy (if any). If the passphrase is
163 acceptable, the program should exit with status 0. Otherwise,
164 it should exit with non-zero status, causing the operation in
165 progress (credential load, passphrase change) to fail with the
166 error message provided by the program's stdout. Note: You must
167 specify the full path to the external program. $GLOBUS_LOCATION
168 can't be used in the myproxy-server.config file. A sample pro‐
169 gram is installed in $GLOBUS_LOCATION/share/myproxy/myproxy-
170 passphrase-policy but is not enabled by default.
171
172 Be sure to follow secure coding practices for this call-out:
173 - Don't allow input to overflow fixed-size buffers.
174 - Don't pass unchecked input to a shell command.
175
176 cert_dir full-path-to-certificates-directory
177 Specifies the path to the CA certificates directory to be
178 returned to clients requesting trust roots (such as via the
179 myproxy-logon(1) -T option). Defaults to /etc/grid-secu‐
180 rity/certificates.
181
182 max_proxy_lifetime hours
183 This line specifies a server-wide maximum lifetime for retrieved
184 proxy credentials. By default, no server-wide maximum is
185 enforced. However, if this option is specified, the server will
186 limit the lifetime of any retrieved proxy credentials to the
187 value given.
188
189 max_cred_lifetime hours
190 This line specifies a server-wide maximum lifetime for stored
191 credentials. By default, no server-wide maximum is enforced.
192 However, if this option is specified, the server will limit the
193 lifetime of any stored credentials to the value given.
194
195 ignore_globus_limited_proxy_flag boolean
196 By default, MyProxy will respect the policy of "limited" proxy
197 certificates as follows. If a client authenticates with a lim‐
198 ited proxy, the client should only be able to obtain another
199 limited proxy, not a full proxy or end entity certificate.
200 Thus, the MyProxy CA will not accept limited proxies for authen‐
201 tication. However, if this option is set to true, MyProxy will
202 treat limited proxy certificates as if they were full proxy cer‐
203 tificates.
204
205 allow_self_authorization boolean
206 By default, MyProxy will disallow trusted_retrievers and autho‐
207 rized_renewers whose DN matches the identity of the stored cre‐
208 dential, so a proxy by itself can not be refreshed or renewed.
209 However, if this option is set to true, this restriction is
210 lifted.
211
212 syslog_ident name
213 You can optionally specify the string to be prepended to every
214 message written to the syslog. If not specified, the name
215 defaults to the the program name, i.e. myproxy-server.
216
217 syslog_facility name
218 By default, the myproxy-server will log to the syslog "daemon"
219 facility. With this option you can specify an alternate syslog
220 facility, such as "auth", "user", "security", or "local0". The
221 facility can also be specified numerically as with the logger(1)
222 command.
223
224 request_timeout seconds
225 Specifies the maximum time a myproxy-server(8) child process
226 should spend servicing a client request before aborting. By
227 default, child processes will abort after 120 seconds. A nega‐
228 tive value will disable the timeout.
229
230 request_size_limit bytes
231 Limits the amount of incoming application-level protocol data
232 the myproxy-server(8) will accept from clients, to avoid memory
233 exhaustion under heavy load. Specified in bytes. Defaults to
234 1MB (1048576 bytes). A zero or negative value disables the
235 limit.
236
237 proxy_extfile full-path-to-extension-file
238 Optionally specifies the full path to a file containing an
239 OpenSSL formatted set of certificate extensions to include in
240 all proxy certificates issued from the MyProxy repository (anal‐
241 ogous to certificate_extfile for the CA module).
242
243 proxy_extapp full-path-to-extension-callout-program
244 This is the call-out version of proxy_extfile. It optionally
245 specifies the full path to a call-out program for specifying
246 proxy certificate extensions. It will be passed the authenti‐
247 cated username and the proxy credential location as the two com‐
248 mand arguments. On success, it should write the OpenSSL format‐
249 ted set of certificate extensions to stdout and exit with zero
250 status. On error, it should write to stderr and exit with
251 nonzero status. Either proxy_extfile or proxy_extapp can be
252 specified but not both.
253
254 Be sure to follow secure coding practices for this call-out:
255 - Don't allow input to overflow fixed-size buffers.
256 - Don't pass unchecked input to a shell command.
257
258 voms_userconf full-path-to-voms-configuration-file
259 Optionally specifies the full path to the VOMS configuration
260 file containing VOMS server information. It is usually specified
261 in the environmental variable VOMS_USERCONF.
262
263 allow_voms_attribute_requests boolean
264 If this parameter is set to true and a GET request includes VON‐
265 AME and (optionally) VOMSES parameters, call-out to VOMS to add
266 the requested attributes to the issued certificate. Requires
267 linking with VOMS libraries. By default, VONAME and VOMSES
268 parameters in requests will be ignored unless this parameter is
269 set to true.
270
271 The MyProxy server can be optionally configured for authentication
272 based on Pluggable Authentication Modules (PAM) and/or the Simple
273 Authentication and Security Layer (SASL). Kerberos is one of the sup‐
274 ported SASL authentication methods. The following options control the
275 use of PAM and SASL.
276
277 pam option
278 This line governs the use of PAM to check passphrases. MyProxy
279 will attempt to authenticate via PAM, with the supplied username
280 and passphrase. Note that PAM will need to be configured exter‐
281 nally for the application "myproxy" (usually in /etc/pam.d/), or
282 for the application named by pam_id, below. Accepted values:
283
284 required
285 PAM password authentication is required under all condi‐
286 tions. If the credential is unencrypted (that is, it has
287 no passphrase), a PAM password check is still required
288 for authentication. If the credential is encrypted, its
289 passphrase must match the PAM password.
290
291 sufficient
292 The user's passphrase may match either the credential
293 passphrase or, if the credential is unencrypted, the PAM
294 passphrase. If the credential is encrypted, then the PAM
295 password is not relevant.
296
297 disabled (default)
298 PAM is not used to check passphrases.
299
300 pam_id string
301 The name that myproxy uses to identify itself to PAM. Default
302 is "myproxy". For example, on most Unix-like systems, if pam_id
303 is set to "login", MyProxy will authenticate against the sys‐
304 tem's own usernames and passwords.
305
306 sasl option
307 This line governs the use of SASL authentication. Accepted val‐
308 ues:
309
310 required
311 SASL authentication is required for retrieving creden‐
312 tials.
313
314 sufficient
315 SASL authentication is sufficient for retrieving creden‐
316 tials, but other authentication methods may be used
317 instead.
318
319 disabled (default)
320 SASL authentication isn't used.
321
322 sasl_mech mechanism
323 Forces the use of a single SASL mechanism, overriding the SASL
324 configuration file. (Typically not required.)
325
326 sasl_serverFQDN hostname
327 Configures the SASL server fully-qualified domain name for
328 multi-homed servers. (Typically not required.)
329
330 sasl_user_realm realm
331 Configures the SASL user realm. (Typically not required.)
332
333 The MyProxy server can also be configured to act as a Certificate
334 Authority (CA) to issue credentials to clients. The following parame‐
335 ters enable and configure the CA functionality.
336
337 certificate_issuer_cert full-path-to-certificate
338 This line specifies the full path to the issuer certificate to
339 optionally configure the myproxy-server to act as an online cer‐
340 tificate authority.
341
342 certificate_issuer_key full-path-to-key
343 When specifying certificate_issuer_cert above, you must also
344 give the name of the CA private key for signing certificates.
345 This is normally path to a CA private key in PEM format, but if
346 you are using an OpenSSL engine (see certifi‐
347 cate_openssl_engine_id ) then it can be the key name.
348
349 certificate_issuer_key_passphrase “passphrase”
350 If the certificate_issuer_key is encrypted, give the passphrase
351 here.
352
353 certificate_issuer_subca_certfile full-path-to-subca-certificate-file
354 If you would like an intermediate/sub-CA certificate chain to be
355 sent along with the EEC (End Entity Certificate) generated using
356 a local intermediate/sub-CA, specify the file that contains
357 those certificates in PEM format. This is meant to aid scenarios
358 where the CA used is an intermediate CA (i.e. not a root CA) and
359 the client may not have the intermediate CA(s) in its trust
360 store. The client will write out the chain into the same file as
361 the EEC, following the EEC.
362
363 certificate_issuer_hashalg algorithm
364 Specifies the hash algorithm to use when signing end-entity cer‐
365 tificates. Defaults to "sha1". When linked with OpenSSL 0.9.8
366 or later, "sha224", "sha256", "sha384" and "sha512" are also
367 supported.
368
369 certificate_issuer_email_domain “domain”
370 If set, specifies the domain part of the X509v3 Subject Alterna‐
371 tive Name email address included in issued certificates.
372
373 certificate_openssl_engine_id engineId
374
375 certificate_openssl_engine_pre pre-initialization-commands
376
377 certificate_openssl_engine_post post-initialization-commands
378 These commands can be used to allow any OpenSSL engine to be
379 used with MyProxy. This enables the use of hardware tokens and
380 signing modules to sign certificates. Given the parameters of
381 an OpenSSL "engine" command, the first argument, the identity of
382 the engine becomes the argument to certificate_openssl_engine_id
383 and -pre commands are listed in order using certifi‐
384 cate_openssl_engine_pre and -post commands are listed in order
385 using certificate_openssl_engine_post. For example the command-
386 line:
387
388 openssl engine dynamic -pre
389 SO_PATH:/usr/lib/engines/engine_pkcs11.so -pre ID:pkcs11 -pre
390 LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/opensc-pksc11.so
391
392 becomes:
393
394 certificate_openssl_engine_id "dynamic"
395
396 certificate_openssl_engine_pre
397 "SO_PATH:/usr/lib/engines/engine_pkcs11.so" "ID:pkcs11"
398 "LIST_ADD:1" "LOAD" "MODULE_PATH:/usr/lib/opensc-pksc11.so"
399
400 Please note that any shared library engines loaded through the
401 "dynamic" engine MUST be compiled againt the correct version of
402 OpenSSL. The Globus toolkit has its own installation and can be
403 found by running $GLOBUS_LOCATION/bin/openssl version.
404
405 certificate_openssl_engine_lockfile full-path-to-file
406 If your hardware token or HSM is unable to handle simultaneous
407 operations, provide a path to a lockfile for synchronizing oper‐
408 ations to the engine device. The myproxy-server will create the
409 file if it does not already exist.
410
411 certificate_issuer_program full-path-to-script
412 This line specifies the path to a program to issue certificates
413 for authenticated clients that don't have credentials stored.
414 This optionally configures the myproxy-server to act as an
415 online certificate authority, allowing programmatic control over
416 the certificate issuance process. You can either specify cer‐
417 tificate_issuer_cert or certificate_issuer_program.
418
419 Be sure to follow secure coding practices for this call-out:
420 - Don't allow input to overflow fixed-size buffers.
421 - Don't pass unchecked input to a shell command.
422
423 certificate_serialfile full-path-to-serial-file
424 Specifies the path to a file to store the serial number counter
425 for issued certificates. Defaults to /var/myproxy/serial.
426
427 certificate_serial_skip increment
428 Specifies the number to add to the serial number each time a
429 certificate is issued. Use this to stagger serial numbers across
430 multiple CA instances to avoid serial number clashes. Defaults
431 to 1.
432
433 certificate_out_dir full-path-to-putput-directory
434 Specifies the path to a directory where new certificates will be
435 archived.
436
437 max_cert_lifetime hours
438 Specifies the maximum lifetime (in hours) for certificates
439 issued by the CA module. Defaults to 12 hours.
440
441 min_keylen bits
442 Specifies the minimum RSA key length (in bits) for certificates
443 issued by the CA module.
444
445 certificate_extfile full-path-to-extension-file
446 Optionally specifies the full path to a file containing an
447 OpenSSL formatted set of certificate extensions to include in
448 all issued certificates. For example:
449 keyUsage=digitalSignature,keyEncipherment,dataEncipherment
450 subjectKeyIdentifier=hash
451 authorityKeyIdentifier=keyid,issuer:always
452 crlDistributionPoints=URI:http://ca.ncsa.uiuc.edu/4a6cd8b1.r0
453 basicConstraints=CA:FALSE
454 If not set, the MyProxy CA will include a basic set of exten‐
455 sions in issued certificates.
456
457 certificate_extapp full-path-to-extension-callout-program
458 This is the call-out version of certificate_extfile. It option‐
459 ally specifies the full path to a call-out program for specify‐
460 ing certificate extensions. It will be passed the authenticated
461 username as the single command argument. On success, it should
462 write the OpenSSL formatted set of certificate extensions to
463 stdout and exit with zero status. On error, it should write to
464 stderr and exit with nonzero status. Either certificate_extfile
465 or certificate_extapp can be specified but not both.
466
467 Be sure to follow secure coding practices for this call-out:
468 - Don't allow input to overflow fixed-size buffers.
469 - Don't pass unchecked input to a shell command.
470
471 certificate_mapfile full-path-to-mapfile
472 When specifying certificate_issuer_cert above, you can map
473 account names to certificate subject distinguished names for the
474 issued certificates using this mapfile, which has the same for‐
475 mat as used by other Globus Toolkit services. By default,
476 /etc/grid-security/grid-mapfile is used. The Globus Toolkit
477 grid-mapfile-add-entry and grid-mapfile-delete-entry commands
478 can be used to manage the grid-mapfile.
479
480 certificate_mapapp full-path-to-mapapp
481 When specifying certificate_issuer_cert above, you can map
482 account names to certificate subject distinguished names for the
483 issued certificates using this call-out. It will be passed the
484 authenticated username as the single command argument. On suc‐
485 cess, it should write the distinguished name in OpenSSL one line
486 format (for example, "/C=US/O=National Computational Science
487 Alliance/CN=Jim Basney") to stdout and exit with zero status.
488 On error, it should write to stderr and exit with nonzero sta‐
489 tus. If it is not defined, then mapfile lookup will be executed
490 instead (see certificate_mapfile above). An example is
491 installed in $GLOBUS_LOCATION/share/myproxy/myproxy-certificate-
492 mapapp.
493
494 Be sure to follow secure coding practices for this call-out:
495 - Don't allow input to overflow fixed-size buffers.
496 - Don't pass unchecked input to a shell command.
497
498 certificate_request_checker full-path-to-callout-program
499 This CA call-out can be used to perform checks on incoming cer‐
500 tificate requests. It will be passed the certificate request in
501 PEM format on stdin. If it returns a nonzero exit status, the CA
502 will abort without signing the request. When returning a
503 nonzero exit status, the callout should indicate the problem on
504 stderr. An example is installed in $GLOBUS_LOCA‐
505 TION/share/myproxy/myproxy-certreq-checker.
506
507 certificate_issuer_checker full-path-to-callout-program
508 This CA call-out can be used to perform checks on issued cer‐
509 tificates before the certificate is returned to the client. It
510 will be passed the certificate in PEM format on stdin. If it
511 returns a nonzero exit status, the CA will abort without return‐
512 ing the signed certificate to the client. When returning a
513 nonzero exit status, the callout should indicate the problem on
514 stderr. An example is installed in $GLOBUS_LOCA‐
515 TION/share/myproxy/myproxy-cert-checker.
516
517 If OpenLDAP support is built-in to the myproxy-server(8), the following
518 parameters can be used to configure the CA module to map account names
519 to certificate subject distinguished names via LDAP.
520
521 ca_ldap_server “ldap://localhost:389/”
522 This parameter specifies the URI to the LDAP server to use for
523 username to DN resolution in the CA module. Both ldap:// and
524 ldaps:// protocols are supported. A port number may optionally
525 be specified as well. Defining this directive is the "trigger"
526 that causes the name resolution module to use LDAP querying. If
527 it is not defined, then mapfile lookup will be executed instead
528 (see certificate_mapfile above).
529
530 ca_ldap_uid_attribute “uid”
531 The name of the record attribute that maps to the MyProxy user‐
532 name. Required for LDAP username to DN resolution.
533
534 ca_ldap_searchbase “ou=people,dc=bullwinkle,dc=lbl,dc=gov”
535 The DN of the region of the ldap database to be searched.
536 Required for LDAP username to DN resolution.
537
538 ca_ldap_dn_attribute “subjectDN”
539 If this directive is set, the LDAP resolver will pull the DN
540 from the specified attribute in the returned record. If it is
541 not set, the default is to use the DN of the record itself.
542
543 ca_ldap_connect_dn “cn=MyProxy,ou=ldapusers,dc=lbl,dc=gov”
544 DN for LDAP basic authentication (optional).
545
546 ca_ldap_connect_passphrase “passphrase”
547 Passphrase for LDAP basic authentication (optional).
548
549 The following parameters control server replication with the myproxy-
550 replicate(1) utility.
551
552 slave_servers server:port;
553 This value is for use with the myproxy-replicate(1) utility.
554 This tag provides a list of servers that will be used as sec‐
555 ondary repositories for the MyProxy database. Each server
556 should be seperated by a ";". Also, a port may be provided if
557 the slave server is using a port other then the default. The
558 server name maybe a recognized DNS or an IP address.
559
560 The following parameters control Pubcookie (http://www.pubcookie.org)
561 authentication.
562
563 pubcookie_granting_cert full-path-to-pem-file
564 Sets the full path to the PEM-encoded Pubcookie granting cer‐
565 tificate for verifying signatures on Pubcookie granting cookies.
566 Setting this parameter enables Pubcookie support.
567
568 pubcookie_app_server_key full-path-to-key-file
569 Sets the full path to the 2048 byte application server key (see
570 Pubcookie's Apache directive PubcookieCryptKeyfile). This
571 parameter is optional; if omitted, cookie decryption will be
572 disabled, and MyProxy will only accept plaintext cookies,
573 although it will still verify their signatures with pub‐
574 cookie_granting_cert (see above).
575
576 The following parameters are used primarily when utilizing MyProxy as a
577 delegation service for web portals.
578
579 accepted_credentials_mapfile full-path-to-mapfile
580 This parameter points to a grid-mapfile, which is possibly dif‐
581 ferent from other mapfiles above. When specified, this mapfile
582 is utilized during puts/stores (e.g. with myproxy-init(1) and
583 myproxy-store(1)). A credential is authorized to be put/stored
584 only under the username specified in the mapfile. This prevents
585 storing a user's credential under a different username. Note
586 that the credential checked for the presence of a Sub‐
587 jectDN/Username entry in the mapfile is the credential utilized
588 to secure the connection between client and server, NOT the
589 actual credential being stored. As the credential which secures
590 the TLS connection is typically the same as the credential being
591 stored, this should not be a major issue. The Globus Toolkit
592 grid-mapfile-add-entry and grid-mapfile-delete-entry commands
593 can be used to manage the grid-mapfile.
594
595 accepted_credentials_mapapp full-path-to-mapapp
596 As an alternative to the accepted_credentials_mapfile option
597 above, you can specify a call-out which is passed two parame‐
598 ters: a certificate subject distinguished name and a username
599 (in that order). In essence, the call-out performs a lookup in
600 a 'virtual' accepted_credentials_mapfile. If the Sub‐
601 jectDN/Username line would appear in such a mapfile, then the
602 call-out should exit with zero status indicating that a creden‐
603 tial with the given SubjectDN is allowed to be stored under the
604 given Username. Otherwise, the call-out should exit with
605 nonzero status indicating error. An example is installed in
606 $GLOBUS_LOCATION/share/myproxy/myproxy-accepted-credentials-
607 mapapp.
608
609 Be sure to follow secure coding practices for this call-out:
610 - Don't allow input to overflow fixed-size buffers.
611 - Don't pass unchecked input to a shell command.
612
613 check_multiple_credentials boolean
614 Typically when a credential is accessed by a client, the server
615 checks only one credential for possible access authorization,
616 even if there are multiple credentials stored under the given
617 username. If this option is set to "true" AND the client does
618 not specify a credential name for a MyProxy GET operation (i.e.,
619 from myproxy-logon(1)), then the server will check multiple cre‐
620 dentials with the given username. If a credential is found to
621 be authorized for client access, then that one will be used dur‐
622 ing processing. The default value for this option is "false".
623
624 The following parameters enable OCSP status checking of stored creden‐
625 tials in the myproxy-server(8) repository, to avoid use of expired cre‐
626 dentials.
627
628 ocsp_policy policy
629 Controls the policy for checking certificate validity via OCSP
630 before credentials may be delegated. Currently, only the status
631 of the end entity certificate is checked via OCSP (and not any
632 proxy certificates or CA certificates). OCSP will not be used
633 unless ocsp_responder_url and/or ocsp_policy are set. Supported
634 policies are:
635 "aia" - use OCSP responder in certificate AIA extension, if
636 present; otherwise use ocsp_responder_url, if set
637
638 ocsp_responder_url URL
639 Specifies the URL of an OCSP responder to use to check the
640 validity of credentials stored in the myproxy-server repository
641 before they may be delegated, so that revoked credentials can
642 not be retrieved and used where their revocation status may not
643 be checked. Currently, only the status of the end entity cer‐
644 tificate is checked via OCSP (and not any proxy certificates or
645 CA certificates). In any case, CRL checks are always performed.
646 Both http and https urls are supported. OCSP will not be used
647 unless ocsp_responder_url and/or ocsp_policy are set.
648
649 ocsp_responder_cert path
650 Specifies the path to the certificate of a trusted OCSP respon‐
651 der. This is needed if the OCSP responder must be explicity
652 trusted in cases where standard path validation fails for the
653 OCSP responder's certificate.
654
655 The following parameters control Usage Metrics reporting by the
656 myproxy-server(8).
657
658 disable_usage_stats value
659 By default Usage Metrics reporting is enabled. Specifying
660 "true", "enabled", "yes", "on" or "1" for value will disable
661 Usage Metrics reporting. Setting the GLOBUS_USAGE_OPTOUT envi‐
662 ronment variable to "1" will also disable the reporting of usage
663 metrics. Disabling reporting of usage metrics will cause the
664 usage_stats_target setting to be ignored.
665
666 usage_stats_target target_list
667 This option can be used to specify the target collector hosts to
668 which usage metrics should be reported. This setting will be
669 ignored if disable_usage_stats is enabled. Multiple targets can
670 be specified in target_list separated by comma(s). Each target
671 specification is of the format host:port[!tags] tags control
672 what data elements are reported. The following list specifies
673 the tags for the corresponding data elements.
674 V - Major Version number of MyProxy server
675 v - Minor Version number of MyProxy server
676 t - Task Code (0=Get, 1=Put, 2=Info, 3=Destroy, 4=ChangeCred‐
677 Passphrase, 5=StoreEndEntCred, 6=RetrEndEntCred, 7=GetTrust‐
678 Roots)
679 r - Task Return Code.
680 l - Requested Lifetime for Credential.
681 L - Actual Lifetime for Credential.
682 B - Informational Bit mask to be interpreted left to right as
683 follows:
684 PAM used
685 SASL used
686 Credential passphrase check used
687 Trusted Retriever (Certificate-based authentication)
688 Certificate Authorization method used (Trusted Renewer)
689 Pubcookie was used
690 Trustroots requested
691 Trustroots delivered
692 I - Client IP address
693 u - Username
694 U - User DN
695
696 In addition to the above selected information, the following
697 data are reported to ALL the specified/default target collec‐
698 tors. There's no way to exclude these from being reported other
699 than by disabling the reporting of usage metrics:
700
701 Component code - 11 for MyProxy
702 Component Data Format version - 0 currently
703 IP Address of Reporting Server
704 Timestamp
705 Hostname
706
707 If no tags are specified in a host spec, or the special string
708 "default" is specified, the tags VvtrlLB are assumed. A site
709 could choose to allow a different set of data to be reported by
710 specifying a different tag set. The last 3 tags I, u and U above
711 are more meant for a local collector that a site might like to
712 deploy since they could be construed as private information. The
713 special string "all" denotes all tags.
714
715 By default, Usage Metrics reporting is sent to "usage-stats.cil‐
716 ogon.org:4810". This can be made explicit by specifying
717 "default" (all by itself) for the target specification as in:
718
719 usage_stats_target "default"
720
721 If usage_stats_target is not specified, a comma-separated list
722 of targets (without any tags specified) if specified in the
723 environment variable GLOBUS_USAGE_TARGETS will be used.
724
726 The following policy enables all credential repository features.
727 accepted_credentials "*"
728 authorized_retrievers "*"
729 default_retrievers "*"
730 authorized_renewers "*"
731 default_renewers "none"
732 authorized_key_retrievers "*"
733 default_key_retrievers "none"
734 trusted_retrievers "*"
735 default_trusted_retrievers "none"
736
737 The following enables CA functionality using an existing Globus Simple
738 CA configuration.
739
740 authorized_retrievers "*"
741 pam "sufficient"
742 sasl "sufficient"
743 certificate_issuer_cert /home/globus/.globus/simpleCA/cacert.pem
744 certificate_issuer_key /home/globus/.globus/simpleCA/private/cakey.pem
745 certificate_issuer_key_passphrase "myproxy"
746 certificate_serialfile /home/globus/.globus/simpleCA/serial
747 certificate_mapfile /etc/grid-security/grid-mapfile
748
749 The following will cause usage metrics to be reported to the default
750 target (only the default tags) as well as a local collector (including
751 the tags IuU):
752
753 usage_stats_target "usage-stats.cilogon.org:4810,localcollector.somedo‐
754 main:4810!VvtrlLBIuU"
755
757 /etc/myproxy-server.config
758 Default location for the server configuration file.
759
760 $GLOBUS_LOCATION/etc/myproxy-server.config
761 Alternate location for the server configuration file. A differ‐
762 ent location can be specified by using the myproxy-server(8) -c
763 option.
764
765 $GLOBUS_LOCATION/share/myproxy/myproxy-passphrase-policy
766 A sample program for evaluating passphrase quality for use with
767 the passphrase_policy_program option.
768
769 $GLOBUS_LOCATION/share/myproxy/myproxy-certificate-mapapp
770 A sample certificate_mapapp program for mapping account names to
771 certificate subject distinguished names.
772
773 $GLOBUS_LOCATION/share/myproxy/myproxy-accepted-credentials-mapapp
774 A sample accepted_credentials_mapapp program for authorizing
775 puts/stores (e.g. with myproxy-init(1) and myproxy-store(1)).
776
778 GLOBUS_LOCATION
779 Specifies the root of the MyProxy installation, used to find the
780 default location of the myproxy-server.config file.
781
783 See http://myproxy.ncsa.uiuc.edu/about for the list of MyProxy authors.
784
786 myproxy-change-pass-phrase(1), myproxy-destroy(1), myproxy-get-trust‐
787 roots(1), myproxy-info(1), myproxy-init(1), myproxy-logon(1), myproxy-
788 retrieve(1), myproxy-store(1), myproxy-admin-adduser(8), myproxy-admin-
789 change-pass(8), myproxy-admin-load-credential(8), myproxy-admin-
790 query(8), myproxy-server(8)
791
792
793
794MyProxy 2009-12-1 myproxy-server.config(5)