123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439 |
- charon {}
- Options for the charon IKE daemon.
- Options for the charon IKE daemon.
- **Note**: Many of the options in this section also apply to **charon-cmd**
- and other **charon** derivatives. Just use their respective name (e.g.
- **charon-cmd** instead of **charon**). For many options defaults can be
- defined in the **libstrongswan** section.
- charon.accept_unencrypted_mainmode_messages = no
- Accept unencrypted ID and HASH payloads in IKEv1 Main Mode.
- Accept unencrypted ID and HASH payloads in IKEv1 Main Mode.
- Some implementations send the third Main Mode message unencrypted, probably
- to find the PSKs for the specified ID for authentication. This is very
- similar to Aggressive Mode, and has the same security implications: A
- passive attacker can sniff the negotiated Identity, and start brute forcing
- the PSK using the HASH payload.
- It is recommended to keep this option to no, unless you know exactly
- what the implications are and require compatibility to such devices (for
- example, some SonicWall boxes).
- charon.block_threshold = 5
- Maximum number of half-open IKE_SAs for a single peer IP.
- charon.cert_cache = yes
- Whether relations in validated certificate chains should be cached in
- memory.
- charon.cache_crls = no
- Whether Certificate Revocation Lists (CRLs) fetched via HTTP or LDAP should
- be saved under a unique file name derived from the public key of the
- Certification Authority (CA) to **/etc/ipsec.d/crls** (stroke) or
- **/etc/swanctl/x509crl** (vici), respectively.
- charon.cisco_unity = no
- Send Cisco Unity vendor ID payload (IKEv1 only).
- charon.close_ike_on_child_failure = no
- Close the IKE_SA if setup of the CHILD_SA along with IKE_AUTH failed.
- charon.cookie_threshold = 10
- Number of half-open IKE_SAs that activate the cookie mechanism.
- charon.crypto_test.bench = no
- Benchmark crypto algorithms and order them by efficiency.
- charon.crypto_test.bench_size = 1024
- Buffer size used for crypto benchmark.
- charon.crypto_test.bench_time = 50
- Time in ms during which crypto algorithm performance is measured.
- charon.crypto_test.on_add = no
- Test crypto algorithms during registration (requires test vectors provided
- by the _test-vectors_ plugin).
- charon.crypto_test.on_create = no
- Test crypto algorithms on each crypto primitive instantiation.
- charon.crypto_test.required = no
- Strictly require at least one test vector to enable an algorithm.
- charon.crypto_test.rng_true = no
- Whether to test RNG with TRUE quality; requires a lot of entropy.
- charon.delete_rekeyed = no
- Delete CHILD_SAs right after they got successfully rekeyed (IKEv1 only).
- Delete CHILD_SAs right after they got successfully rekeyed (IKEv1 only).
- Reduces the number of stale CHILD_SAs in scenarios with a lot of rekeyings.
- However, this might cause problems with implementations that continue to
- use rekeyed SAs until they expire.
- charon.delete_rekeyed_delay = 5
- Delay in seconds until inbound IPsec SAs are deleted after rekeyings (IKEv2
- only).
- Delay in seconds until inbound IPsec SAs are deleted after rekeyings (IKEv2
- only). To process delayed packets the inbound part of a CHILD_SA is kept
- installed up to the configured number of seconds after it got replaced
- during a rekeying. If set to 0 the CHILD_SA will be kept installed until it
- expires (if no lifetime is set it will be destroyed immediately).
- charon.dh_exponent_ansi_x9_42 = yes
- Use ANSI X9.42 DH exponent size or optimum size matched to cryptographic
- strength.
- charon.dlopen_use_rtld_now = no
- Use RTLD_NOW with dlopen when loading plugins and IMV/IMCs to reveal missing
- symbols immediately.
- charon.dns1
- DNS server assigned to peer via configuration payload (CP).
- charon.dns2
- DNS server assigned to peer via configuration payload (CP).
- charon.dos_protection = yes
- Enable Denial of Service protection using cookies and aggressiveness checks.
- charon.ecp_x_coordinate_only = yes
- Compliance with the errata for RFC 4753.
- charon.flush_auth_cfg = no
- Free objects during authentication (might conflict with plugins).
- If enabled objects used during authentication (certificates, identities
- etc.) are released to free memory once an IKE_SA is established. Enabling
- this might conflict with plugins that later need access to e.g. the used
- certificates.
- charon.follow_redirects = yes
- Whether to follow IKEv2 redirects (RFC 5685).
- charon.fragment_size = 1280
- Maximum size (complete IP datagram size in bytes) of a sent IKE fragment
- when using proprietary IKEv1 or standardized IKEv2 fragmentation, defaults
- to 1280 (use 0 for address family specific default values, which uses a
- lower value for IPv4). If specified this limit is used for both IPv4 and
- IPv6.
- charon.group
- Name of the group the daemon changes to after startup.
- charon.half_open_timeout = 30
- Timeout in seconds for connecting IKE_SAs (also see IKE_SA_INIT DROPPING).
- charon.hash_and_url = no
- Enable hash and URL support.
- charon.host_resolver.max_threads = 3
- Maximum number of concurrent resolver threads (they are terminated if
- unused).
- charon.host_resolver.min_threads = 0
- Minimum number of resolver threads to keep around.
- charon.i_dont_care_about_security_and_use_aggressive_mode_psk = no
- Allow IKEv1 Aggressive Mode with pre-shared keys as responder.
- If enabled responders are allowed to use IKEv1 Aggressive Mode with
- pre-shared keys, which is discouraged due to security concerns (offline
- attacks on the openly transmitted hash of the PSK).
- charon.ignore_routing_tables
- A space-separated list of routing tables to be excluded from route lookups.
- charon.ignore_acquire_ts = no
- Whether to ignore the traffic selectors from the kernel's acquire events for
- IKEv2 connections (they are not used for IKEv1).
- If this is disabled the traffic selectors from the kernel's acquire events,
- which are derived from the triggering packet, are prepended to the traffic
- selectors from the configuration for IKEv2 connection. By enabling this,
- such specific traffic selectors will be ignored and only the ones in the
- config will be sent. This always happens for IKEv1 connections as the
- protocol only supports one set of traffic selectors per CHILD_SA.
- charon.ikesa_limit = 0
- Maximum number of IKE_SAs that can be established at the same time before
- new connection attempts are blocked.
- charon.ikesa_table_segments = 1
- Number of exclusively locked segments in the hash table.
- charon.ikesa_table_size = 1
- Size of the IKE_SA hash table.
- charon.inactivity_close_ike = no
- Whether to close IKE_SA if the only CHILD_SA closed due to inactivity.
- charon.init_limit_half_open = 0
- Limit new connections based on the current number of half open IKE_SAs, see
- IKE_SA_INIT DROPPING in **strongswan.conf**(5).
- charon.init_limit_job_load = 0
- Limit new connections based on the number of queued jobs.
- Limit new connections based on the number of jobs currently queued for
- processing (see IKE_SA_INIT DROPPING).
- charon.initiator_only = no
- Causes charon daemon to ignore IKE initiation requests.
- charon.install_routes = yes
- Install routes into a separate routing table for established IPsec tunnels.
- charon.install_virtual_ip = yes
- Install virtual IP addresses.
- charon.install_virtual_ip_on
- The name of the interface on which virtual IP addresses should be installed.
- The name of the interface on which virtual IP addresses should be installed.
- If not specified the addresses will be installed on the outbound interface.
- charon.integrity_test = no
- Check daemon, libstrongswan and plugin integrity at startup.
- charon.interfaces_ignore
- A comma-separated list of network interfaces that should be ignored, if
- **interfaces_use** is specified this option has no effect.
- charon.interfaces_use
- A comma-separated list of network interfaces that should be used by charon.
- All other interfaces are ignored.
- charon.keep_alive = 20s
- NAT keep alive interval.
- charon.leak_detective.detailed = yes
- Includes source file names and line numbers in leak detective output.
- charon.leak_detective.usage_threshold = 10240
- Threshold in bytes for leaks to be reported (0 to report all).
- charon.leak_detective.usage_threshold_count = 0
- Threshold in number of allocations for leaks to be reported (0 to report
- all).
- charon.load
- Plugins to load in the IKE daemon charon.
- charon.load_modular = no
- Determine plugins to load via each plugin's load option.
- If enabled, the list of plugins to load is determined via the value of the
- _charon.plugins.<name>.load_ options. In addition to a simple boolean flag
- that option may take an integer value indicating the priority of a plugin,
- which would influence the order of a plugin in the plugin list (the default
- is 1). If two plugins have the same priority their order in the default
- plugin list is preserved. Enabled plugins not found in that list are ordered
- alphabetically before other plugins with the same priority.
- charon.max_ikev1_exchanges = 3
- Maximum number of IKEv1 phase 2 exchanges per IKE_SA to keep state about and
- track concurrently.
- charon.max_packet = 10000
- Maximum packet size accepted by charon.
- charon.make_before_break = no
- Initiate IKEv2 reauthentication with a make-before-break scheme.
- Initiate IKEv2 reauthentication with a make-before-break instead of a
- break-before-make scheme. Make-before-break uses overlapping IKE and
- CHILD_SA during reauthentication by first recreating all new SAs before
- deleting the old ones. This behavior can be beneficial to avoid connectivity
- gaps during reauthentication, but requires support for overlapping SAs by
- the peer. strongSwan can handle such overlapping SAs since version 5.3.0.
- charon.multiple_authentication = yes
- Enable multiple authentication exchanges (RFC 4739).
- charon.nbns1
- WINS servers assigned to peer via configuration payload (CP).
- charon.nbns2
- WINS servers assigned to peer via configuration payload (CP).
- charon.port = 500
- UDP port used locally. If set to 0 a random port will be allocated.
- charon.port_nat_t = 4500
- UDP port used locally in case of NAT-T. If set to 0 a random port will be
- allocated. Has to be different from **charon.port**, otherwise a random
- port will be allocated.
- charon.prefer_best_path = no
- Whether to prefer updating SAs to the path with the best route.
- By default, charon keeps SAs on the routing path with addresses it
- previously used if that path is still usable. By setting this option to
- yes, it tries more aggressively to update SAs with MOBIKE on routing
- priority changes using the cheapest path. This adds more noise, but allows
- to dynamically adapt SAs to routing priority changes. This option has no
- effect if MOBIKE is not supported or disabled.
- charon.prefer_configured_proposals = yes
- Prefer locally configured proposals for IKE/IPsec over supplied ones as
- responder (disabling this can avoid keying retries due to INVALID_KE_PAYLOAD
- notifies).
- charon.prefer_temporary_addrs = no
- By default public IPv6 addresses are preferred over temporary ones (RFC
- 4941), to make connections more stable. Enable this option to reverse this.
- charon.process_route = yes
- Process RTM_NEWROUTE and RTM_DELROUTE events.
- charon.processor.priority_threads {}
- Section to configure the number of reserved threads per priority class
- see JOB PRIORITY MANAGEMENT in **strongswan.conf**(5).
- charon.rdn_matching = strict
- How RDNs in subject DNs of certificates are matched against configured
- identities (_strict_, _reordered_, or _relaxed_).
- How RDNs in subject DNs of certificates are matched against configured
- identities. Possible values are _strict_ (the default), _reordered_, and
- _relaxed_. With _strict_ the number, type and order of all RDNs has to
- match, wildcards (*) for the values of RDNs are allowed (that's the case
- for all three variants). Using _reordered_ also matches DNs if the RDNs
- appear in a different order, the number and type still has to match.
- Finally, _relaxed_ also allows matches of DNs that contain more RDNs than
- the configured identity (missing RDNs are treated like a wildcard match).
- Note that _reordered_ and _relaxed_ impose a considerable overhead on memory
- usage and runtime, in particular, for mismatches, compared to _strict_.
- charon.receive_delay = 0
- Delay in ms for receiving packets, to simulate larger RTT.
- charon.receive_delay_response = yes
- Delay response messages.
- charon.receive_delay_request = yes
- Delay request messages.
- charon.receive_delay_type = 0
- Specific IKEv2 message type to delay, 0 for any.
- charon.replay_window = 32
- Size of the AH/ESP replay window, in packets.
- charon.retransmit_base = 1.8
- Base to use for calculating exponential back off, see IKEv2 RETRANSMISSION
- in **strongswan.conf**(5).
- charon.retransmit_timeout = 4.0
- Timeout in seconds before sending first retransmit.
- charon.retransmit_tries = 5
- Number of times to retransmit a packet before giving up.
- charon.retransmit_jitter = 0
- Maximum jitter in percent to apply randomly to calculated retransmission
- timeout (0 to disable).
- charon.retransmit_limit = 0
- Upper limit in seconds for calculated retransmission timeout (0 to disable).
- charon.retry_initiate_interval = 0
- Interval in seconds to use when retrying to initiate an IKE_SA (e.g. if DNS
- resolution failed), 0 to disable retries.
- charon.reuse_ikesa = yes
- Initiate CHILD_SA within existing IKE_SAs (always enabled for IKEv1).
- charon.routing_table
- Numerical routing table to install routes to.
- charon.routing_table_prio
- Priority of the routing table.
- charon.rsa_pss = no
- Whether to use RSA with PSS padding instead of PKCS#1 padding by default.
- charon.send_delay = 0
- Delay in ms for sending packets, to simulate larger RTT.
- charon.send_delay_response = yes
- Delay response messages.
- charon.send_delay_request = yes
- Delay request messages.
- charon.send_delay_type = 0
- Specific IKEv2 message type to delay, 0 for any.
- charon.send_vendor_id = no
- Send strongSwan vendor ID payload
- charon.signature_authentication = yes
- Whether to enable Signature Authentication as per RFC 7427.
- charon.signature_authentication_constraints = yes
- Whether to enable constraints against IKEv2 signature schemes.
- If enabled, signature schemes configured in _rightauth_, in addition to
- getting used as constraints against signature schemes employed in the
- certificate chain, are also used as constraints against the signature scheme
- used by peers during IKEv2.
- charon.spi_label = 0x0000000000000000
- Value mixed into the local IKE SPIs after applying _spi_mask_.
- charon.spi_mask = 0x0000000000000000
- Mask applied to local IKE SPIs before mixing in _spi_label_ (bits set will
- be replaced with _spi_label_).
- charon.spi_min = 0xc0000000
- The lower limit for SPIs requested from the kernel for IPsec SAs.
- The lower limit for SPIs requested from the kernel for IPsec SAs. Should not
- be set lower than 0x00000100 (256), as SPIs between 1 and 255 are reserved
- by IANA.
- charon.spi_max = 0xcfffffff
- The upper limit for SPIs requested from the kernel for IPsec SAs.
- charon.start-scripts {}
- Section containing a list of scripts (name = path) that are executed when
- the daemon is started.
- charon.stop-scripts {}
- Section containing a list of scripts (name = path) that are executed when
- the daemon is terminated.
- charon.threads = 16
- Number of worker threads in charon.
- Number of worker threads in charon. Several of these are reserved for long
- running tasks in internal modules and plugins. Therefore, make sure you
- don't set this value too low. The number of idle worker threads listed in
- _ipsec statusall_ might be used as indicator on the number of reserved
- threads.
- charon.tls.cipher
- List of TLS encryption ciphers.
- charon.tls.key_exchange
- List of TLS key exchange methods.
- charon.tls.mac
- List of TLS MAC algorithms.
- charon.tls.suites
- List of TLS cipher suites.
- charon.user
- Name of the user the daemon changes to after startup.
- charon.x509.enforce_critical = yes
- Discard certificates with unsupported or unknown critical extensions.
|