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