summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
Diffstat (limited to 'conf')
-rw-r--r--conf/Makefile.am5
-rw-r--r--conf/Makefile.in7
-rw-r--r--conf/options/aikpub2.conf7
-rw-r--r--conf/options/aikpub2.opt2
-rw-r--r--conf/options/charon.conf9
-rw-r--r--conf/options/charon.opt20
-rw-r--r--conf/plugins/addrblock.conf11
-rw-r--r--conf/plugins/addrblock.opt8
-rw-r--r--conf/plugins/bypass-lan.conf17
-rw-r--r--conf/plugins/bypass-lan.opt8
-rw-r--r--conf/plugins/kernel-netlink.conf6
-rw-r--r--conf/plugins/kernel-netlink.opt17
-rw-r--r--conf/plugins/pkcs11.conf16
-rw-r--r--conf/plugins/pkcs11.opt10
-rw-r--r--conf/plugins/revocation.conf14
-rw-r--r--conf/plugins/revocation.opt7
-rw-r--r--conf/plugins/tpm.conf11
-rw-r--r--conf/plugins/tpm.opt2
-rw-r--r--conf/strongswan.conf.5.main86
19 files changed, 238 insertions, 25 deletions
diff --git a/conf/Makefile.am b/conf/Makefile.am
index 4588b0999..eb5c9c2eb 100644
--- a/conf/Makefile.am
+++ b/conf/Makefile.am
@@ -9,7 +9,6 @@ pluginstemplatedir = $(templatesdir)/plugins
options = \
options/aikgen.opt \
- options/aikpub2.opt \
options/attest.opt \
options/charon.opt \
options/charon-logging.opt \
@@ -28,10 +27,12 @@ options = \
options/tnc.opt
plugins = \
+ plugins/addrblock.opt \
plugins/android_log.opt \
plugins/attr.opt \
plugins/attr-sql.opt \
plugins/bliss.opt \
+ plugins/bypass-lan.opt \
plugins/certexpire.opt \
plugins/coupling.opt \
plugins/dhcp.opt \
@@ -80,6 +81,7 @@ plugins = \
plugins/radattr.opt \
plugins/random.opt \
plugins/resolve.opt \
+ plugins/revocation.opt \
plugins/socket-default.opt \
plugins/sql.opt \
plugins/stroke.opt \
@@ -90,6 +92,7 @@ plugins = \
plugins/tnc-pdp.opt \
plugins/tnccs-11.opt \
plugins/tnccs-20.opt \
+ plugins/tpm.opt \
plugins/unbound.opt \
plugins/updown.opt \
plugins/vici.opt \
diff --git a/conf/Makefile.in b/conf/Makefile.in
index e6d66a25a..70e1b01ec 100644
--- a/conf/Makefile.in
+++ b/conf/Makefile.in
@@ -312,7 +312,6 @@ exec_prefix = @exec_prefix@
fips_mode = @fips_mode@
gtk_CFLAGS = @gtk_CFLAGS@
gtk_LIBS = @gtk_LIBS@
-h_plugins = @h_plugins@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -347,6 +346,7 @@ nm_LIBS = @nm_LIBS@
nm_ca_dir = @nm_ca_dir@
nm_plugins = @nm_plugins@
oldincludedir = @oldincludedir@
+p_plugins = @p_plugins@
pcsclite_CFLAGS = @pcsclite_CFLAGS@
pcsclite_LIBS = @pcsclite_LIBS@
pdfdir = @pdfdir@
@@ -407,7 +407,6 @@ optionstemplatedir = $(templatesdir)/strongswan.d
pluginstemplatedir = $(templatesdir)/plugins
options = \
options/aikgen.opt \
- options/aikpub2.opt \
options/attest.opt \
options/charon.opt \
options/charon-logging.opt \
@@ -426,10 +425,12 @@ options = \
options/tnc.opt
plugins = \
+ plugins/addrblock.opt \
plugins/android_log.opt \
plugins/attr.opt \
plugins/attr-sql.opt \
plugins/bliss.opt \
+ plugins/bypass-lan.opt \
plugins/certexpire.opt \
plugins/coupling.opt \
plugins/dhcp.opt \
@@ -478,6 +479,7 @@ plugins = \
plugins/radattr.opt \
plugins/random.opt \
plugins/resolve.opt \
+ plugins/revocation.opt \
plugins/socket-default.opt \
plugins/sql.opt \
plugins/stroke.opt \
@@ -488,6 +490,7 @@ plugins = \
plugins/tnc-pdp.opt \
plugins/tnccs-11.opt \
plugins/tnccs-20.opt \
+ plugins/tpm.opt \
plugins/unbound.opt \
plugins/updown.opt \
plugins/vici.opt \
diff --git a/conf/options/aikpub2.conf b/conf/options/aikpub2.conf
deleted file mode 100644
index fd48f2c7a..000000000
--- a/conf/options/aikpub2.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-aikpub2 {
-
- # Plugins to load in aikpub2 tool.
- # load =
-
-}
-
diff --git a/conf/options/aikpub2.opt b/conf/options/aikpub2.opt
deleted file mode 100644
index 6a755d211..000000000
--- a/conf/options/aikpub2.opt
+++ /dev/null
@@ -1,2 +0,0 @@
-aikpub2.load =
- Plugins to load in aikpub2 tool.
diff --git a/conf/options/charon.conf b/conf/options/charon.conf
index f72041e6a..1b5d52d02 100644
--- a/conf/options/charon.conf
+++ b/conf/options/charon.conf
@@ -164,6 +164,9 @@ charon {
# will be allocated.
# port_nat_t = 4500
+ # Wether to prefer updating SAs to the path with the best route.
+ # prefer_best_path = no
+
# Prefer locally configured proposals for IKE/IPsec over supplied ones as
# responder (disabling this can avoid keying retries due to
# INVALID_KE_PAYLOAD notifies).
@@ -236,6 +239,12 @@ charon {
# Whether to enable constraints against IKEv2 signature schemes.
# signature_authentication_constraints = yes
+ # The upper limit for SPIs requested from the kernel for IPsec SAs.
+ # spi_max = 0xcfffffff
+
+ # The lower limit for SPIs requested from the kernel for IPsec SAs.
+ # spi_min = 0xc0000000
+
# Number of worker threads in charon.
# threads = 16
diff --git a/conf/options/charon.opt b/conf/options/charon.opt
index 6e0b37c57..4c4311e81 100644
--- a/conf/options/charon.opt
+++ b/conf/options/charon.opt
@@ -260,6 +260,16 @@ charon.port_nat_t = 4500
allocated. Has to be different from **charon.port**, otherwise a random
port will be allocated.
+charon.prefer_best_path = no
+ Wether 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
@@ -340,6 +350,16 @@ charon.signature_authentication_constraints = yes
certificate chain, are also used as constraints against the signature scheme
used by peers during IKEv2.
+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.
diff --git a/conf/plugins/addrblock.conf b/conf/plugins/addrblock.conf
new file mode 100644
index 000000000..274961341
--- /dev/null
+++ b/conf/plugins/addrblock.conf
@@ -0,0 +1,11 @@
+addrblock {
+
+ # Whether to load the plugin. Can also be an integer to increase the
+ # priority of this plugin.
+ load = yes
+
+ # Whether to strictly require addrblock extension in subject certificates.
+ # strict = yes
+
+}
+
diff --git a/conf/plugins/addrblock.opt b/conf/plugins/addrblock.opt
new file mode 100644
index 000000000..e35e4c5ad
--- /dev/null
+++ b/conf/plugins/addrblock.opt
@@ -0,0 +1,8 @@
+charon.plugins.addrblock.strict = yes
+ Whether to strictly require addrblock extension in subject certificates.
+
+ If set to yes, a subject certificate without an addrblock extension is
+ rejected if the issuer certificate has such an addrblock extension. If set
+ to no, subject certificates issued without the addrblock extension are
+ accepted without any traffic selector checks and no policy is enforced
+ by the plugin.
diff --git a/conf/plugins/bypass-lan.conf b/conf/plugins/bypass-lan.conf
new file mode 100644
index 000000000..ad496db67
--- /dev/null
+++ b/conf/plugins/bypass-lan.conf
@@ -0,0 +1,17 @@
+bypass-lan {
+
+ # A comma-separated list of network interfaces for which connected subnets
+ # should be ignored, if interfaces_use is specified this option has no
+ # effect.
+ # interfaces_ignore =
+
+ # A comma-separated list of network interfaces for which connected subnets
+ # should be considered. All other interfaces are ignored.
+ # interfaces_use =
+
+ # Whether to load the plugin. Can also be an integer to increase the
+ # priority of this plugin.
+ load = yes
+
+}
+
diff --git a/conf/plugins/bypass-lan.opt b/conf/plugins/bypass-lan.opt
new file mode 100644
index 000000000..8c72facde
--- /dev/null
+++ b/conf/plugins/bypass-lan.opt
@@ -0,0 +1,8 @@
+charon.plugins.bypass-lan.interfaces_ignore
+ A comma-separated list of network interfaces for which connected subnets
+ should be ignored, if **interfaces_use** is specified this option has no
+ effect.
+
+charon.plugins.bypass-lan.interfaces_use
+ A comma-separated list of network interfaces for which connected subnets
+ should be considered. All other interfaces are ignored.
diff --git a/conf/plugins/kernel-netlink.conf b/conf/plugins/kernel-netlink.conf
index 47f7d58bc..22d94ee38 100644
--- a/conf/plugins/kernel-netlink.conf
+++ b/conf/plugins/kernel-netlink.conf
@@ -3,6 +3,9 @@ kernel-netlink {
# Buffer size for received Netlink messages.
# buflen = <min(PAGE_SIZE, 8192)>
+ # Force maximum Netlink receive buffer on Netlink socket.
+ # force_receive_buffer_size = no
+
# Firewall mark to set on the routing rule that directs traffic to our
# routing table.
# fwmark =
@@ -32,6 +35,9 @@ kernel-netlink {
# Whether to use port or socket based IKE XFRM bypass policies.
# port_bypass = no
+ # Maximum Netlink socket receive buffer in bytes.
+ # receive_buffer_size = 0
+
# Number of Netlink message retransmissions to send on timeout.
# retries = 0
diff --git a/conf/plugins/kernel-netlink.opt b/conf/plugins/kernel-netlink.opt
index 77ba6ea97..1136af1be 100644
--- a/conf/plugins/kernel-netlink.opt
+++ b/conf/plugins/kernel-netlink.opt
@@ -1,6 +1,14 @@
charon.plugins.kernel-netlink.buflen = <min(PAGE_SIZE, 8192)>
Buffer size for received Netlink messages.
+charon.plugins.kernel-netlink.force_receive_buffer_size = no
+ Force maximum Netlink receive buffer on Netlink socket.
+
+ If the maximum Netlink socket receive buffer in bytes set by
+ _receive_buffer_size_ exceeds the system-wide maximum from
+ /proc/sys/net/core/rmem_max, this option can be used to override the limit.
+ Enabling this option requires special priviliges (CAP_NET_ADMIN).
+
charon.plugins.kernel-netlink.fwmark =
Firewall mark to set on the routing rule that directs traffic to our routing
table.
@@ -39,6 +47,15 @@ charon.plugins.kernel-netlink.port_bypass = no
port based policies use global XFRM bypass policies for the used IKE UDP
ports.
+charon.plugins.kernel-netlink.receive_buffer_size = 0
+ Maximum Netlink socket receive buffer in bytes.
+
+ Maximum Netlink socket receive buffer in bytes. This value controls how many
+ bytes of Netlink messages can be received on a Netlink socket. The default
+ value is set by /proc/sys/net/core/rmem_default. The specified value cannot
+ exceed the system-wide maximum from /proc/sys/net/core/rmem_max, unless
+ _force_receive_buffer_size_ is enabled.
+
charon.plugins.kernel-netlink.roam_events = yes
Whether to trigger roam events when interfaces, addresses or routes change.
diff --git a/conf/plugins/pkcs11.conf b/conf/plugins/pkcs11.conf
index 35248c2ce..c786a9abb 100644
--- a/conf/plugins/pkcs11.conf
+++ b/conf/plugins/pkcs11.conf
@@ -4,9 +4,6 @@ pkcs11 {
# priority of this plugin.
load = yes
- # Whether to load certificates from tokens.
- # load_certs = yes
-
# Reload certificates from all tokens if charon receives a SIGHUP.
# reload_certs = no
@@ -31,6 +28,19 @@ pkcs11 {
# List of available PKCS#11 modules.
modules {
+ <name> {
+
+ # Whether to automatically load certificates from tokens.
+ # load_certs = yes
+
+ # Whether OS locking should be enabled for this module.
+ # os_locking = no
+
+ # Full path to the shared object file of this PKCS#11 module.
+ # path =
+
+ }
+
}
}
diff --git a/conf/plugins/pkcs11.opt b/conf/plugins/pkcs11.opt
index f5a202844..8f328f087 100644
--- a/conf/plugins/pkcs11.opt
+++ b/conf/plugins/pkcs11.opt
@@ -1,8 +1,14 @@
charon.plugins.pkcs11.modules {}
List of available PKCS#11 modules.
-charon.plugins.pkcs11.load_certs = yes
- Whether to load certificates from tokens.
+charon.plugins.pkcs11.modules.<name>.path =
+ Full path to the shared object file of this PKCS#11 module.
+
+charon.plugins.pkcs11.modules.<name>.os_locking = no
+ Whether OS locking should be enabled for this module.
+
+charon.plugins.pkcs11.modules.<name>.load_certs = yes
+ Whether to automatically load certificates from tokens.
charon.plugins.pkcs11.reload_certs = no
Reload certificates from all tokens if charon receives a SIGHUP.
diff --git a/conf/plugins/revocation.conf b/conf/plugins/revocation.conf
new file mode 100644
index 000000000..ca24a640d
--- /dev/null
+++ b/conf/plugins/revocation.conf
@@ -0,0 +1,14 @@
+revocation {
+
+ # Whether CRL validation should be enabled.
+ # enable_crl = yes
+
+ # Whether OCSP validation should be enabled.
+ # enable_ocsp = yes
+
+ # Whether to load the plugin. Can also be an integer to increase the
+ # priority of this plugin.
+ load = yes
+
+}
+
diff --git a/conf/plugins/revocation.opt b/conf/plugins/revocation.opt
new file mode 100644
index 000000000..5d2b8c026
--- /dev/null
+++ b/conf/plugins/revocation.opt
@@ -0,0 +1,7 @@
+charon.plugins.revocation.enable_ocsp = yes
+ Whether OCSP validation should be enabled.
+
+charon.plugins.revocation.enable_crl = yes
+ Whether CRL validation should be enabled.
+
+
diff --git a/conf/plugins/tpm.conf b/conf/plugins/tpm.conf
new file mode 100644
index 000000000..222bb7b0a
--- /dev/null
+++ b/conf/plugins/tpm.conf
@@ -0,0 +1,11 @@
+tpm {
+
+ # Whether to load the plugin. Can also be an integer to increase the
+ # priority of this plugin.
+ load = yes
+
+ # Whether the TPM should be used as RNG.
+ # use_rng = no
+
+}
+
diff --git a/conf/plugins/tpm.opt b/conf/plugins/tpm.opt
new file mode 100644
index 000000000..cd666dde8
--- /dev/null
+++ b/conf/plugins/tpm.opt
@@ -0,0 +1,2 @@
+charon.plugins.tpm.use_rng = no
+ Whether the TPM should be used as RNG.
diff --git a/conf/strongswan.conf.5.main b/conf/strongswan.conf.5.main
index c0ecbb7ce..72ab3a77a 100644
--- a/conf/strongswan.conf.5.main
+++ b/conf/strongswan.conf.5.main
@@ -3,10 +3,6 @@
Plugins to load in ipsec aikgen tool.
.TP
-.BR aikpub2.load " []"
-Plugins to load in aikpub2 tool.
-
-.TP
.BR attest.database " []"
File measurement information database URI. If it contains a password, make sure
to adjust the permissions of the config file accordingly.
@@ -402,6 +398,13 @@ WINS servers assigned to peer via configuration payload (CP).
WINS servers assigned to peer via configuration payload (CP).
.TP
+.BR charon.plugins.addrblock.strict " [yes]"
+If set to yes, a subject certificate without an addrblock extension is rejected
+if the issuer certificate has such an addrblock extension. If set to no, subject
+certificates issued without the addrblock extension are accepted without any
+traffic selector checks and no policy is enforced by the plugin.
+
+.TP
.BR charon.plugins.android_log.loglevel " [1]"
Loglevel for logging to Android specific logger.
@@ -442,6 +445,18 @@ Enable logging of SQL IP pool leases.
Use the enhanced BLISS\-B key generation and signature algorithm.
.TP
+.BR charon.plugins.bypass-lan.interfaces_ignore " []"
+A comma\-separated list of network interfaces for which connected subnets should
+be ignored, if
+.RB "" "interfaces_use" ""
+is specified this option has no effect.
+
+.TP
+.BR charon.plugins.bypass-lan.interfaces_use " []"
+A comma\-separated list of network interfaces for which connected subnets should
+be considered. All other interfaces are ignored.
+
+.TP
.BR charon.plugins.certexpire.csv.cron " []"
Cron style string specifying CSV export times.
@@ -922,6 +937,14 @@ to circumvent that problem.
Buffer size for received Netlink messages.
.TP
+.BR charon.plugins.kernel-netlink.force_receive_buffer_size " [no]"
+If the maximum Netlink socket receive buffer in bytes set by
+.RI "" "receive_buffer_size" ""
+exceeds the system\-wide maximum from
+/proc/sys/net/core/rmem_max, this option can be used to override the limit.
+Enabling this option requires special priviliges (CAP_NET_ADMIN).
+
+.TP
.BR charon.plugins.kernel-netlink.fwmark " []"
Firewall mark to set on the routing rule that directs traffic to our routing
table. The format is [!]mark[/mask], where the optional exclamation mark inverts
@@ -962,6 +985,15 @@ based policies are directly tied to the IKE UDP sockets, port based policies use
global XFRM bypass policies for the used IKE UDP ports.
.TP
+.BR charon.plugins.kernel-netlink.receive_buffer_size " [0]"
+Maximum Netlink socket receive buffer in bytes. This value controls how many
+bytes of Netlink messages can be received on a Netlink socket. The default value
+is set by /proc/sys/net/core/rmem_default. The specified value cannot exceed the
+system\-wide maximum from /proc/sys/net/core/rmem_max, unless
+.RI "" "force_receive_buffer_size" ""
+is enabled.
+
+.TP
.BR charon.plugins.kernel-netlink.retries " [0]"
Number of Netlink message retransmissions to send on timeout.
@@ -1264,15 +1296,23 @@ server addresses. Requests will be sent for addresses of the same families for
which internal IPs are requested.
.TP
-.BR charon.plugins.pkcs11.load_certs " [yes]"
-Whether to load certificates from tokens.
-
-.TP
.B charon.plugins.pkcs11.modules
.br
List of available PKCS#11 modules.
.TP
+.BR charon.plugins.pkcs11.modules.<name>.load_certs " [yes]"
+Whether to automatically load certificates from tokens.
+
+.TP
+.BR charon.plugins.pkcs11.modules.<name>.os_locking " [no]"
+Whether OS locking should be enabled for this module.
+
+.TP
+.BR charon.plugins.pkcs11.modules.<name>.path " []"
+Full path to the shared object file of this PKCS#11 module.
+
+.TP
.BR charon.plugins.pkcs11.reload_certs " [no]"
Reload certificates from all tokens if charon receives a SIGHUP.
@@ -1338,6 +1378,14 @@ should have a high priority according to the order defined in
.TP
+.BR charon.plugins.revocation.enable_crl " [yes]"
+Whether CRL validation should be enabled.
+
+.TP
+.BR charon.plugins.revocation.enable_ocsp " [yes]"
+Whether OCSP validation should be enabled.
+
+.TP
.BR charon.plugins.socket-default.fwmark " []"
Firewall mark to set on outbound packets.
@@ -1523,6 +1571,10 @@ Send an unsupported PB\-TNC message type with the NOSKIP flag set.
Send a PB\-TNC batch with a modified PB\-TNC version.
.TP
+.BR charon.plugins.tpm.use_rng " [no]"
+Whether the TPM should be used as RNG.
+
+.TP
.BR charon.plugins.unbound.dlv_anchors " []"
File to read trusted keys for DLV (DNSSEC Lookaside Validation) from. It uses
the same format as
@@ -1588,6 +1640,15 @@ otherwise a random port
will be allocated.
.TP
+.BR charon.prefer_best_path " [no]"
+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.
+
+.TP
.BR 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
@@ -1695,6 +1756,15 @@ are also used as constraints against the signature scheme used by peers during
IKEv2.
.TP
+.BR charon.spi_max " [0xcfffffff]"
+The upper limit for SPIs requested from the kernel for IPsec SAs.
+
+.TP
+.BR charon.spi_min " [0xc0000000]"
+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.
+
+.TP
.B charon.start-scripts
.br
Section containing a list of scripts (name = path) that are executed when the