Annotation of embedaddon/strongswan/conf/options/charon.opt, revision 1.1.1.2
1.1 misho 1: charon {}
2: Options for the charon IKE daemon.
3:
4: Options for the charon IKE daemon.
5:
6: **Note**: Many of the options in this section also apply to **charon-cmd**
7: and other **charon** derivatives. Just use their respective name (e.g.
8: **charon-cmd** instead of **charon**). For many options defaults can be
9: defined in the **libstrongswan** section.
10:
11: charon.accept_private_algs = no
12: Deliberately violate the IKE standard's requirement and allow the use of
13: private algorithm identifiers, even if the peer implementation is unknown.
14:
15: charon.accept_unencrypted_mainmode_messages = no
16: Accept unencrypted ID and HASH payloads in IKEv1 Main Mode.
17:
18: Accept unencrypted ID and HASH payloads in IKEv1 Main Mode.
19:
20: Some implementations send the third Main Mode message unencrypted, probably
21: to find the PSKs for the specified ID for authentication. This is very
22: similar to Aggressive Mode, and has the same security implications: A
23: passive attacker can sniff the negotiated Identity, and start brute forcing
24: the PSK using the HASH payload.
25:
26: It is recommended to keep this option to no, unless you know exactly
27: what the implications are and require compatibility to such devices (for
28: example, some SonicWall boxes).
29:
30: charon.block_threshold = 5
31: Maximum number of half-open IKE_SAs for a single peer IP.
32:
33: charon.cert_cache = yes
34: Whether relations in validated certificate chains should be cached in
35: memory.
36:
37: charon.cache_crls = no
38: Whether Certificate Revocation Lists (CRLs) fetched via HTTP or LDAP should
39: be saved under a unique file name derived from the public key of the
40: Certification Authority (CA) to **/etc/ipsec.d/crls** (stroke) or
41: **/etc/swanctl/x509crl** (vici), respectively.
42:
1.1.1.2 ! misho 43: charon.check_current_path = no
! 44: Whether to use DPD to check if the current path still works after any
! 45: changes to interfaces/addresses.
! 46:
! 47: By default, after detecting any changes to interfaces and/or addresses no
! 48: action is taken if the current path to the remote peer still looks usable.
! 49: Enabling this option will use DPD to check if the path actually still works,
! 50: or, for instance, the peer removed the state after a longer phase without
! 51: connectivity. It will also trigger a MOBIKE update if NAT mappings were
! 52: removed during the downtime.
! 53:
! 54: charon.cisco_flexvpn = no
! 55: Send the Cisco FlexVPN vendor ID payload (IKEv2 only).
! 56:
! 57: Send the Cisco FlexVPN vendor ID payload, which is required in order to make
! 58: Cisco brand devices allow negotiating a local traffic selector (from
! 59: strongSwan's point of view) that is not the assigned virtual IP address if
! 60: such an address is requested by strongSwan. Sending the Cisco FlexVPN
! 61: vendor ID prevents the peer from narrowing the initiator's local traffic
! 62: selector and allows it to e.g. negotiate a TS of 0.0.0.0/0 == 0.0.0.0/0
! 63: instead. This has been tested with a "tunnel mode ipsec ipv4" Cisco
! 64: template but should also work for GRE encapsulation.
! 65:
1.1 misho 66: charon.cisco_unity = no
67: Send Cisco Unity vendor ID payload (IKEv1 only).
68:
69: charon.close_ike_on_child_failure = no
70: Close the IKE_SA if setup of the CHILD_SA along with IKE_AUTH failed.
71:
72: charon.cookie_threshold = 10
73: Number of half-open IKE_SAs that activate the cookie mechanism.
74:
75: charon.crypto_test.bench = no
76: Benchmark crypto algorithms and order them by efficiency.
77:
78: charon.crypto_test.bench_size = 1024
79: Buffer size used for crypto benchmark.
80:
81: charon.crypto_test.bench_time = 50
82: Time in ms during which crypto algorithm performance is measured.
83:
84: charon.crypto_test.on_add = no
85: Test crypto algorithms during registration (requires test vectors provided
86: by the _test-vectors_ plugin).
87:
88: charon.crypto_test.on_create = no
89: Test crypto algorithms on each crypto primitive instantiation.
90:
91: charon.crypto_test.required = no
92: Strictly require at least one test vector to enable an algorithm.
93:
94: charon.crypto_test.rng_true = no
95: Whether to test RNG with TRUE quality; requires a lot of entropy.
96:
97: charon.delete_rekeyed = no
98: Delete CHILD_SAs right after they got successfully rekeyed (IKEv1 only).
99:
100: Delete CHILD_SAs right after they got successfully rekeyed (IKEv1 only).
101: Reduces the number of stale CHILD_SAs in scenarios with a lot of rekeyings.
102: However, this might cause problems with implementations that continue to
103: use rekeyed SAs until they expire.
104:
105: charon.delete_rekeyed_delay = 5
106: Delay in seconds until inbound IPsec SAs are deleted after rekeyings (IKEv2
107: only).
108:
109: Delay in seconds until inbound IPsec SAs are deleted after rekeyings (IKEv2
110: only). To process delayed packets the inbound part of a CHILD_SA is kept
111: installed up to the configured number of seconds after it got replaced
112: during a rekeying. If set to 0 the CHILD_SA will be kept installed until it
113: expires (if no lifetime is set it will be destroyed immediately).
114:
115: charon.dh_exponent_ansi_x9_42 = yes
116: Use ANSI X9.42 DH exponent size or optimum size matched to cryptographic
117: strength.
118:
119: charon.dlopen_use_rtld_now = no
120: Use RTLD_NOW with dlopen when loading plugins and IMV/IMCs to reveal missing
121: symbols immediately.
122:
123: charon.dns1
124: DNS server assigned to peer via configuration payload (CP).
125:
126: charon.dns2
127: DNS server assigned to peer via configuration payload (CP).
128:
129: charon.dos_protection = yes
130: Enable Denial of Service protection using cookies and aggressiveness checks.
131:
132: charon.flush_auth_cfg = no
133: Free objects during authentication (might conflict with plugins).
134:
135: If enabled objects used during authentication (certificates, identities
136: etc.) are released to free memory once an IKE_SA is established. Enabling
137: this might conflict with plugins that later need access to e.g. the used
138: certificates.
139:
140: charon.follow_redirects = yes
141: Whether to follow IKEv2 redirects (RFC 5685).
142:
1.1.1.2 ! misho 143: charon.force_eap_only_authentication = no
! 144: Violate RFC 5998 and use EAP-only authentication even if the peer did not
! 145: send an EAP_ONLY_AUTHENTICATION notify during IKE_AUTH.
! 146:
1.1 misho 147: charon.fragment_size = 1280
148: Maximum size (complete IP datagram size in bytes) of a sent IKE fragment
149: when using proprietary IKEv1 or standardized IKEv2 fragmentation, defaults
150: to 1280 (use 0 for address family specific default values, which uses a
151: lower value for IPv4). If specified this limit is used for both IPv4 and
152: IPv6.
153:
154: charon.group
155: Name of the group the daemon changes to after startup.
156:
157: charon.half_open_timeout = 30
158: Timeout in seconds for connecting IKE_SAs (also see IKE_SA_INIT DROPPING).
159:
160: charon.hash_and_url = no
161: Enable hash and URL support.
162:
163: charon.host_resolver.max_threads = 3
164: Maximum number of concurrent resolver threads (they are terminated if
165: unused).
166:
167: charon.host_resolver.min_threads = 0
168: Minimum number of resolver threads to keep around.
169:
170: charon.i_dont_care_about_security_and_use_aggressive_mode_psk = no
171: Allow IKEv1 Aggressive Mode with pre-shared keys as responder.
172:
173: If enabled responders are allowed to use IKEv1 Aggressive Mode with
174: pre-shared keys, which is discouraged due to security concerns (offline
175: attacks on the openly transmitted hash of the PSK).
176:
177: charon.ignore_routing_tables
178: A space-separated list of routing tables to be excluded from route lookups.
179:
180: charon.ignore_acquire_ts = no
181: Whether to ignore the traffic selectors from the kernel's acquire events for
182: IKEv2 connections (they are not used for IKEv1).
183:
184: If this is disabled the traffic selectors from the kernel's acquire events,
185: which are derived from the triggering packet, are prepended to the traffic
186: selectors from the configuration for IKEv2 connection. By enabling this,
187: such specific traffic selectors will be ignored and only the ones in the
188: config will be sent. This always happens for IKEv1 connections as the
189: protocol only supports one set of traffic selectors per CHILD_SA.
190:
191: charon.ikesa_limit = 0
192: Maximum number of IKE_SAs that can be established at the same time before
193: new connection attempts are blocked.
194:
195: charon.ikesa_table_segments = 1
196: Number of exclusively locked segments in the hash table.
197:
198: charon.ikesa_table_size = 1
199: Size of the IKE_SA hash table.
200:
201: charon.inactivity_close_ike = no
202: Whether to close IKE_SA if the only CHILD_SA closed due to inactivity.
203:
204: charon.init_limit_half_open = 0
205: Limit new connections based on the current number of half open IKE_SAs, see
206: IKE_SA_INIT DROPPING in **strongswan.conf**(5).
207:
208: charon.init_limit_job_load = 0
209: Limit new connections based on the number of queued jobs.
210:
211: Limit new connections based on the number of jobs currently queued for
212: processing (see IKE_SA_INIT DROPPING).
213:
214: charon.initiator_only = no
215: Causes charon daemon to ignore IKE initiation requests.
216:
217: charon.install_routes = yes
218: Install routes into a separate routing table for established IPsec tunnels.
219:
220: charon.install_virtual_ip = yes
221: Install virtual IP addresses.
222:
223: charon.install_virtual_ip_on
224: The name of the interface on which virtual IP addresses should be installed.
225:
226: The name of the interface on which virtual IP addresses should be installed.
227: If not specified the addresses will be installed on the outbound interface.
228:
229: charon.integrity_test = no
230: Check daemon, libstrongswan and plugin integrity at startup.
231:
232: charon.interfaces_ignore
233: A comma-separated list of network interfaces that should be ignored, if
234: **interfaces_use** is specified this option has no effect.
235:
236: charon.interfaces_use
237: A comma-separated list of network interfaces that should be used by charon.
238: All other interfaces are ignored.
239:
240: charon.keep_alive = 20s
241: NAT keep alive interval.
242:
1.1.1.2 ! misho 243: charon.keep_alive_dpd_margin = 0s
! 244: Number of seconds the keep alive interval may be exceeded before a DPD is
! 245: sent instead of a NAT keep alive (0 to disable). This is only useful if a
! 246: clock is used that includes time spent suspended (e.g. CLOCK_BOOTTIME).
! 247:
1.1 misho 248: charon.leak_detective.detailed = yes
249: Includes source file names and line numbers in leak detective output.
250:
251: charon.leak_detective.usage_threshold = 10240
252: Threshold in bytes for leaks to be reported (0 to report all).
253:
254: charon.leak_detective.usage_threshold_count = 0
255: Threshold in number of allocations for leaks to be reported (0 to report
256: all).
257:
258: charon.load
259: Plugins to load in the IKE daemon charon.
260:
261: charon.load_modular = no
262: Determine plugins to load via each plugin's load option.
263:
264: If enabled, the list of plugins to load is determined via the value of the
265: _charon.plugins.<name>.load_ options. In addition to a simple boolean flag
266: that option may take an integer value indicating the priority of a plugin,
267: which would influence the order of a plugin in the plugin list (the default
268: is 1). If two plugins have the same priority their order in the default
269: plugin list is preserved. Enabled plugins not found in that list are ordered
270: alphabetically before other plugins with the same priority.
271:
272: charon.max_ikev1_exchanges = 3
273: Maximum number of IKEv1 phase 2 exchanges per IKE_SA to keep state about and
274: track concurrently.
275:
276: charon.max_packet = 10000
277: Maximum packet size accepted by charon.
278:
279: charon.make_before_break = no
280: Initiate IKEv2 reauthentication with a make-before-break scheme.
281:
282: Initiate IKEv2 reauthentication with a make-before-break instead of a
283: break-before-make scheme. Make-before-break uses overlapping IKE and
284: CHILD_SA during reauthentication by first recreating all new SAs before
285: deleting the old ones. This behavior can be beneficial to avoid connectivity
286: gaps during reauthentication, but requires support for overlapping SAs by
287: the peer. strongSwan can handle such overlapping SAs since version 5.3.0.
288:
289: charon.multiple_authentication = yes
290: Enable multiple authentication exchanges (RFC 4739).
291:
292: charon.nbns1
293: WINS servers assigned to peer via configuration payload (CP).
294:
295: charon.nbns2
296: WINS servers assigned to peer via configuration payload (CP).
297:
298: charon.port = 500
299: UDP port used locally. If set to 0 a random port will be allocated.
300:
301: charon.port_nat_t = 4500
302: UDP port used locally in case of NAT-T. If set to 0 a random port will be
303: allocated. Has to be different from **charon.port**, otherwise a random
304: port will be allocated.
305:
306: charon.prefer_best_path = no
307: Whether to prefer updating SAs to the path with the best route.
308:
309: By default, charon keeps SAs on the routing path with addresses it
310: previously used if that path is still usable. By setting this option to
311: yes, it tries more aggressively to update SAs with MOBIKE on routing
312: priority changes using the cheapest path. This adds more noise, but allows
313: to dynamically adapt SAs to routing priority changes. This option has no
314: effect if MOBIKE is not supported or disabled.
315:
316: charon.prefer_configured_proposals = yes
317: Prefer locally configured proposals for IKE/IPsec over supplied ones as
318: responder (disabling this can avoid keying retries due to INVALID_KE_PAYLOAD
319: notifies).
320:
321: charon.prefer_temporary_addrs = no
322: Controls whether permanent or temporary IPv6 addresses are used as source,
323: or announced as additional addresses if MOBIKE is used.
324:
325: By default, permanent IPv6 source addresses are preferred over temporary
326: ones (RFC 4941), to make connections more stable. Enable this option to
327: reverse this.
328:
329: It also affects which IPv6 addresses are announced as additional addresses
330: if MOBIKE is used. If the option is disabled, only permanent addresses are
331: sent, and only temporary ones if it is enabled.
332:
333: charon.process_route = yes
334: Process RTM_NEWROUTE and RTM_DELROUTE events.
335:
336: charon.processor.priority_threads {}
337: Section to configure the number of reserved threads per priority class
338: see JOB PRIORITY MANAGEMENT in **strongswan.conf**(5).
339:
340: charon.rdn_matching = strict
341: How RDNs in subject DNs of certificates are matched against configured
342: identities (_strict_, _reordered_, or _relaxed_).
343:
344: How RDNs in subject DNs of certificates are matched against configured
345: identities. Possible values are _strict_ (the default), _reordered_, and
346: _relaxed_. With _strict_ the number, type and order of all RDNs has to
347: match, wildcards (*) for the values of RDNs are allowed (that's the case
348: for all three variants). Using _reordered_ also matches DNs if the RDNs
349: appear in a different order, the number and type still has to match.
350: Finally, _relaxed_ also allows matches of DNs that contain more RDNs than
351: the configured identity (missing RDNs are treated like a wildcard match).
352:
353: Note that _reordered_ and _relaxed_ impose a considerable overhead on memory
354: usage and runtime, in particular, for mismatches, compared to _strict_.
355:
356: charon.receive_delay = 0
357: Delay in ms for receiving packets, to simulate larger RTT.
358:
359: charon.receive_delay_response = yes
360: Delay response messages.
361:
362: charon.receive_delay_request = yes
363: Delay request messages.
364:
365: charon.receive_delay_type = 0
366: Specific IKEv2 message type to delay, 0 for any.
367:
368: charon.replay_window = 32
369: Size of the AH/ESP replay window, in packets.
370:
371: charon.retransmit_base = 1.8
372: Base to use for calculating exponential back off, see IKEv2 RETRANSMISSION
373: in **strongswan.conf**(5).
374:
375: charon.retransmit_timeout = 4.0
376: Timeout in seconds before sending first retransmit.
377:
378: charon.retransmit_tries = 5
379: Number of times to retransmit a packet before giving up.
380:
381: charon.retransmit_jitter = 0
382: Maximum jitter in percent to apply randomly to calculated retransmission
383: timeout (0 to disable).
384:
385: charon.retransmit_limit = 0
386: Upper limit in seconds for calculated retransmission timeout (0 to disable).
387:
388: charon.retry_initiate_interval = 0
389: Interval in seconds to use when retrying to initiate an IKE_SA (e.g. if DNS
390: resolution failed), 0 to disable retries.
391:
392: charon.reuse_ikesa = yes
393: Initiate CHILD_SA within existing IKE_SAs (always enabled for IKEv1).
394:
395: charon.routing_table
396: Numerical routing table to install routes to.
397:
398: charon.routing_table_prio
399: Priority of the routing table.
400:
401: charon.rsa_pss = no
402: Whether to use RSA with PSS padding instead of PKCS#1 padding by default.
403:
404: charon.send_delay = 0
405: Delay in ms for sending packets, to simulate larger RTT.
406:
407: charon.send_delay_response = yes
408: Delay response messages.
409:
410: charon.send_delay_request = yes
411: Delay request messages.
412:
413: charon.send_delay_type = 0
414: Specific IKEv2 message type to delay, 0 for any.
415:
416: charon.send_vendor_id = no
417: Send strongSwan vendor ID payload
418:
419: charon.signature_authentication = yes
420: Whether to enable Signature Authentication as per RFC 7427.
421:
422: charon.signature_authentication_constraints = yes
423: Whether to enable constraints against IKEv2 signature schemes.
424:
425: If enabled, signature schemes configured in _rightauth_, in addition to
426: getting used as constraints against signature schemes employed in the
427: certificate chain, are also used as constraints against the signature scheme
428: used by peers during IKEv2.
429:
430: charon.spi_label = 0x0000000000000000
431: Value mixed into the local IKE SPIs after applying _spi_mask_.
432:
433: charon.spi_mask = 0x0000000000000000
434: Mask applied to local IKE SPIs before mixing in _spi_label_ (bits set will
435: be replaced with _spi_label_).
436:
437: charon.spi_min = 0xc0000000
438: The lower limit for SPIs requested from the kernel for IPsec SAs.
439:
440: The lower limit for SPIs requested from the kernel for IPsec SAs. Should not
441: be set lower than 0x00000100 (256), as SPIs between 1 and 255 are reserved
442: by IANA.
443:
444: charon.spi_max = 0xcfffffff
445: The upper limit for SPIs requested from the kernel for IPsec SAs.
446:
447: charon.start-scripts {}
448: Section containing a list of scripts (name = path) that are executed when
449: the daemon is started.
450:
451: charon.stop-scripts {}
452: Section containing a list of scripts (name = path) that are executed when
453: the daemon is terminated.
454:
455: charon.threads = 16
456: Number of worker threads in charon.
457:
458: Number of worker threads in charon. Several of these are reserved for long
459: running tasks in internal modules and plugins. Therefore, make sure you
460: don't set this value too low. The number of idle worker threads listed in
461: _ipsec statusall_ might be used as indicator on the number of reserved
462: threads.
463:
464: charon.tls.cipher
465: List of TLS encryption ciphers.
466:
467: charon.tls.key_exchange
468: List of TLS key exchange methods.
469:
470: charon.tls.mac
471: List of TLS MAC algorithms.
472:
473: charon.tls.suites
474: List of TLS cipher suites.
475:
1.1.1.2 ! misho 476: charon.tls.ke_group
! 477: List of TLS key exchange groups.
! 478:
! 479: charon.tls.signature
! 480: List of TLS signature schemes.
! 481:
! 482: charon.tls.send_certreq_authorities = yes
! 483: Whether to include CAs in a server's CertificateRequest message.
! 484:
! 485: Whether to include CAs in a server's CertificateRequest message. May be
! 486: disabled if clients can't handle a long list of CAs.
! 487:
! 488: charon.tls.version_min = 1.2
! 489: Minimum TLS version to negotiate.
! 490:
! 491: charon.tls.version_max = 1.2
! 492: Maximum TLS version to negotiate.
! 493:
1.1 misho 494: charon.user
495: Name of the user the daemon changes to after startup.
496:
497: charon.x509.enforce_critical = yes
498: Discard certificates with unsupported or unknown critical extensions.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>