xref: /openbsd/sbin/isakmpd/isakmpd.conf.5 (revision 898184e3)
1.\" $OpenBSD: isakmpd.conf.5,v 1.130 2012/08/12 17:01:35 schwarze Exp $
2.\" $EOM: isakmpd.conf.5,v 1.57 2000/12/21 14:43:17 ho Exp $
3.\"
4.\" Copyright (c) 1998, 1999, 2000 Niklas Hallqvist.  All rights reserved.
5.\" Copyright (c) 2000, 2001, 2002 H�kan Olsson.  All rights reserved.
6.\"
7.\" Redistribution and use in source and binary forms, with or without
8.\" modification, are permitted provided that the following conditions
9.\" are met:
10.\" 1. Redistributions of source code must retain the above copyright
11.\"    notice, this list of conditions and the following disclaimer.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26.\"
27.\" This code was written under funding by Ericsson Radio Systems.
28.\"
29.\" Manual page, using -mandoc macros
30.\"
31.Dd $Mdocdate: August 12 2012 $
32.Dt ISAKMPD.CONF 5
33.Os
34.Sh NAME
35.Nm isakmpd.conf
36.Nd configuration file for isakmpd
37.Sh DESCRIPTION
38.Nm
39is the configuration file for the
40.Xr isakmpd 8
41daemon, managing security association and key management for the
42IPsec layer of the kernel's networking stack.
43.Pp
44The file is of a well known type of format called .INI style, named after
45the suffix used by an overrated windowing environment for its configuration
46files.
47This format consists of sections, each beginning with a line looking like:
48.Bd -unfilled
49.Bq Sy Section name
50.Ed
51Between the brackets is the name of the section following this section header.
52Inside a section many tag/value pairs can be stored, each one looking like:
53.Bd -unfilled
54.Ar Tag Ns = Ns Ar Value
55.Ed
56The current line can be extended over multiple lines using a backslash
57.Pq Sq \e .
58Comments can be put anywhere in the file using a hash mark
59.Pq Sq # ,
60and extend to the end of the current line.
61Care should be taken when commenting out multi-line text:
62the comment remains in effect until the end of the entire current line.
63.Pp
64Often the right-hand side values consist of other section names.
65This results in a tree structure.
66Some values are treated as a list of several scalar values.
67Such lists always use a comma character as the separator.
68Some values are formatted like this: X,Y:Z, which
69is an offer/accept syntax, where X is a value we offer and Y:Z is a range of
70accepted values, inclusive.
71.Pp
72To activate changes to
73.Nm
74without restarting
75.Xr isakmpd 8 ,
76send a
77.Dv SIGHUP
78signal to the daemon process.
79.Sh AUTO-GENERATED PARTS OF THE CONFIGURATION
80Some predefined section names are recognized by the daemon, avoiding the need
81to fully specify the Main Mode transforms and Quick Mode suites, protocols,
82and transforms.
83.Pp
84For Main Mode:
85.\"{cipher}-{hash}[-{group}][-RSA_SIG]
86.Bl -inset -compact
87.It Xo
88.Sm off
89.No {
90.Ar cipher
91.No }-{
92.Ar hash
93.No }[{-
94.Ar group
95.No }]
96.No [-
97.Ar RSA_SIG
98.No ]
99.Sm on
100.Xc
101.El
102.Pp
103where:
104.Bl -tag -width "{cipher}" -offset indent -compact
105.It Ns { Ns Ar cipher Ns }
106is either DES, BLF, 3DES, CAST, AES, AES-128, AES-192 or AES-256
107.It Ns { Ns Ar hash Ns }
108is either MD5, SHA, or SHA2-{256,384,512}
109.It Ns { Ns Ar group Ns }
110is either GRP1, GRP2, GRP5, GRP14, or GRP15
111.El
112.Pp
113For Quick Mode:
114.\" .Ar QM-{proto}[-TRP]-{cipher}[-{hash}][-PFS[-{group}]]-SUITE
115.Bl -inset -compact
116.It Xo
117.Sm off
118.Ar QM
119.No -{
120.Ar proto
121.No }[-
122.Ar TRP
123.No ]-{
124.Ar cipher
125.No }[-{
126.Ar hash
127.No }]
128.No [-
129.Ar PFS
130.No [-{
131.Ar group
132.No }]]-
133.Ar SUITE
134.Sm on
135.Xc
136.El
137.Pp
138where:
139.Bl -tag -width "{cipher}" -offset indent -compact
140.It Ns { Ns Ar proto Ns }
141is either ESP or AH
142.It Ns { Ns Ar cipher Ns }
143is either DES, 3DES, CAST, BLF, AES, AES-128, AES-192, AES-256, AESCTR,
144AESCTR-128, AESCTR-192, AESCTR-256,
145AESGCM-128, AESGCM-192, AESGCM-256, AESGMAC-128, AESGMAC-192, AESGMAC-256
146or NULL
147.It Ns { Ns Ar hash Ns }
148is either MD5, SHA, RIPEMD, or SHA2-{256,384,512}
149.It Ns { Ns Ar group Ns }
150is either GRP1, GRP2, GRP5, GRP14, or GRP15
151.El
152.Pp
153For example, AES-SHA2-256 means: AES encryption, SHA2-256 hash, and
154authorization by pre-shared keys.
155Adding "-RSA_SIG" will enable public key authentication,
156e.g. AES-SHA2-256-RSA_SIG.
157Similarly, QM-ESP-3DES-SHA-PFS-SUITE means: ESP protocol, 3DES encryption,
158SHA hash, and use Perfect Forward Secrecy.
159.Pp
160Unless explicitly stated with -GRP1, 2, 5, 14 or 15, transforms and
161PFS suites use DH group 2.
162There are currently no predefined ESP+AH Quick Mode suites.
163.Pp
164The predefinitions include some default values for the special
165sections "General", "Keynote", "X509-certificates", and
166"Default-phase-1-configuration".
167These default values are presented in the example below.
168.Pp
169All autogenerated values can be overridden by manual entries by using the
170same section and tag names in the configuration file.
171In particular, the default phase 1 (Main or Aggressive Mode) and phase 2
172(Quick Mode) lifetimes can be overridden by these tags under the "General"
173section:
174.Bd -literal -offset indent
175[General]
176Default-phase-1-lifetime=	3600,60:86400
177Default-phase-2-lifetime=	1200,60:86400
178.Ed
179.Pp
180The Main Mode lifetime currently defaults to one hour (minimum 60
181seconds, maximum 1 day).
182The Quick Mode lifetime defaults to 20 minutes
183(minimum 60 seconds, maximum 1 day).
184.Pp
185Also, the default phase 1 ID can be set by creating a
186.Aq Sy Phase1-ID
187section, as shown below, and adding this tag under the "General"
188section:
189.Bd -literal -offset indent
190[General]
191Default-phase-1-ID=		Phase1-ID-name
192
193[Phase1-ID-name]
194ID-type=			USER_FQDN
195Name=				foo@bar.com
196.Ed
197.Sh ROOTS
198.Bl -hang -width 8n
199.It Bq Sy General
200Generic global configuration parameters
201.Bl -tag -width Ds
202.It Em Acquire-Only
203If this tag is defined,
204.Xr isakmpd 8
205will not set up flows automatically.
206This is useful when flows are configured with
207.Xr ipsecctl 8
208or by other programs like
209.Xr bgpd 8 .
210Thus
211.Xr isakmpd 8
212only takes care of the SA establishment.
213.It Em Check-interval
214The interval between watchdog checks of connections we want up at all
215times, in seconds.
216The default value is 60 seconds.
217.It Em Default-phase-1-ID
218Optional default phase 1 ID name.
219.It Em Default-phase-1-lifetime
220The default lifetime for autogenerated transforms (phase 1).
221If unspecified, the value 3600,60:86400 is used as the default.
222.It Em Default-phase-2-lifetime
223The default lifetime for autogenerated suites (phase 2).
224If unspecified, the value 1200,60:86400 is used as the default.
225.It Em Default-phase-2-suites
226A list of phase 2 suites that will be used when establishing dynamic
227SAs.
228If left unspecified, QM-ESP-3DES-SHA-PFS-SUITE is used as the default.
229.It Em DPD-check-interval
230The interval between RFC 3706 (Dead Peer Detection) messages, in seconds.
231The default value is 0 (zero), which means DPD is disabled.
232.It Em Exchange-max-time
233How many seconds should an exchange maximally take to set up before we
234give up.
235.It Em Listen-on
236A list of IP addresses or interface names OK to listen on.
237This list is used as a filter for the set of addresses the interfaces
238configured provides.
239This means that we won't see if an address given here does not exist
240on this host, and thus no error is given for that case.
241.It Em Loglevel
242A list of the form
243.Ar class Ns = Ns Ar level ,
244where both
245.Ar class
246and
247.Ar level
248are numbers.
249This is similar to the
250.Fl D
251command line switch of
252.Xr isakmpd 8 .
253.It Em Logverbose
254If this tag is defined, whatever the value is, verbose logging is enabled.
255This is similar to the
256.Fl v
257command line switch of
258.Xr isakmpd 8 .
259.It Em NAT-T-Keepalive
260The number of seconds between NAT-T keepalive messages, sent by the
261peer behind NAT to keep the mapping active.
262Defaults to 20.
263.It Em Policy-file
264The name of the file that contains
265.Xr keynote 4
266policies.
267The default is
268.Pa /etc/isakmpd/isakmpd.policy .
269.It Em Pubkey-directory
270The directory in which
271.Nm
272looks for explicitly trusted public keys.
273The default is
274.Pa /etc/isakmpd/pubkeys .
275Read
276.Xr isakmpd 8
277for the required naming convention of the files in here.
278.It Em Renegotiate-on-HUP
279If this tag is defined, whatever the value is,
280.Xr isakmpd 8
281will renegotiate all current phase 2 SAs when the daemon receives a
282.Dv SIGHUP
283signal, or an
284.Sq R
285is sent to the FIFO interface (see
286.Xr isakmpd 8 ) .
287.It Em Retransmits
288How many times should a message be retransmitted before giving up.
289.It Em Shared-SADB
290If this tag is defined, whatever the value is, some semantics of
291.Nm
292are changed so that multiple instances can run on top of one SADB
293and set up SAs with each other.
294Specifically this means replay
295protection will not be asked for, and errors that can occur when
296updating an SA with its parameters a 2nd time will be ignored.
297.It Em Use-Keynote
298This tag controls the use of
299.Xr keynote 4
300policy checking.
301The default value is
302.Qq yes ,
303which enables the policy checking.
304When set to any other value, policies will not be checked.
305This is useful when policies for flows and SA establishment are arranged by
306other programs like
307.Xr ipsecctl 8
308or
309.Xr bgpd 8 .
310.El
311.It Bq Sy Phase 1
312ISAKMP SA negotiation parameter root
313.Bl -tag -width Ds
314.It Em Default
315A name of the default ISAKMP peer.
316Incoming phase 1 connections from other IP addresses will use this peer name.
317This name is used as the section name for further information to be found.
318Look at
319.Aq Sy ISAKMP-peer
320below.
321.It Aq Em IP-address
322A name of the ISAKMP peer at the given IP address.
323.El
324.It Bq Sy Phase 2
325IPsec SA negotiation parameter root
326.Bl -tag -width Ds
327.It Em Connections
328A list of directed IPsec "connection" names that should be brought up
329automatically, either on first use if the system supports it, or at
330startup of the daemon.
331These names are section names where further information can be found.
332Look at
333.Aq Sy IPsec-connection
334below.
335Normally any connections mentioned here are treated as part of the
336"Passive-connection" list we present below; however there is a flag,
337.Em Active-only ,
338that disables this behaviour.
339This too is mentioned in the
340.Aq Sy IPsec-connection
341section, in the "Flags" tag.
342.It Em Passive-connections
343A list of IPsec "connection" names we recognize and accept initiations for.
344These names are section names where further information can be found.
345Look at
346.Aq Sy IPsec-connection
347below.
348Currently only the Local-ID and Remote-ID tags
349are looked at in those sections, as they are matched against the IDs given
350by the initiator.
351.El
352.It Bq Sy KeyNote
353KeyNote configuration section
354.Bl -tag -width Ds
355.It Em Credential-directory
356A directory containing directories named after IDs (IP
357addresses,
358.Dq user@domain ,
359or hostnames) that contain files named
360.Dq credentials
361and
362.Dq private_key .
363.Pp
364The credentials file contains
365.Xr keynote 4
366credentials that are sent to a remote IKE daemon when we use the
367associated ID, or credentials that we may want to consider when doing
368an exchange with a remote IKE daemon that uses that ID.
369Note that, in the former case, the last credential in the file
370MUST contain our public key in its Licensees field.
371More than one credentials may exist in the file.
372They are separated by whitelines (the format is essentially the same as
373that of the policy file).
374The credentials are of the same format as the policies described in
375.Xr isakmpd.policy 5 .
376The only difference is that the Authorizer field contains a public
377key, and the assertion is signed.
378Signed assertions can be generated using the
379.Xr keynote 1
380utility.
381.Pp
382The private_key file contains the private RSA key we use for
383authentication.
384If the directory (and the files) exist, they take precedence over X509-based
385authentication.
386.El
387.It Bq Sy X509-Certificates
388X509-certificate configuration section
389.Bl -tag -width Ds
390.It Em Accept-self-signed
391If this tag is defined, whatever the value is, certificates that
392do not originate from a trusted CA but are self-signed will be
393accepted.
394.It Em Ca-directory
395A directory containing PEM certificates of certification authorities
396that we trust to sign other certificates.
397Note that for a CA to be really trusted, it needs to be somehow
398referred to by policy, in
399.Xr isakmpd.policy 5 .
400The certificates in this directory are used for the actual X.509
401authentication and for cross-referencing policies that refer to
402Distinguished Names (DNs).
403Keeping a separate directory (as opposed to integrating policies
404and X.509 CA certificates) allows for maintenance of a list of
405"well known" CAs without actually having to trust all (or any) of them.
406.It Em Cert-directory
407A directory containing PEM certificates that we trust to be valid.
408These certificates are used in preference to those passed in messages and
409are required to have a subjectAltName extension containing the certificate
410holder identity; usually IP address, FQDN, or User FQDN.
411.It Em Private-key
412The private key matching the public key of our certificate (which should be
413in the "Cert-directory", and have an appropriate subjectAltName field).
414.It Em Private-key-directory
415A directory containing private keys named after an ID (IP addresses,
416.Dq user@domain ,
417or hostnames).
418.El
419.El
420.Sh REFERRED-TO SECTIONS
421.Bl -hang -width Ds
422.It Aq Sy ISAKMP-peer
423Parameters for negotiation with an ISAKMP peer
424.Bl -tag -width Ds
425.It Em Address
426If existent, the IP address of the peer.
427.It Em Authentication
428If existent, authentication data for this specific peer.
429In the case of a pre-shared key, this is the key value itself.
430.It Em Configuration
431The name of the ISAKMP-configuration section to use.
432Look at
433.Aq Sy ISAKMP-configuration
434below.
435If unspecified, defaults to "Default-phase-1-configuration".
436.It Em Flags
437A comma-separated list of flags controlling the further
438handling of the ISAKMP SA.
439Currently there are no specific ISAKMP SA flags defined.
440.It Em ID
441If existent, the name of the section that describes the
442local client ID that we should present to our peer.
443If not present, it
444defaults to the address of the local interface we are sending packets
445over to the remote daemon.
446Look at
447.Aq Sy Phase1-ID
448below.
449.It Em Local-address
450The Local IP address to use, if we are multi-homed, or have aliases.
451.It Em Phase
452The constant
453.Sq 1 ,
454as ISAKMP-peers and IPsec-connections
455really are handled by the same code inside
456.Xr isakmpd 8 .
457.It Em Port
458For UDP, the UDP port number to send to.
459This is optional;
460the default value is 500 which is the IANA-registered number for ISAKMP.
461.It Em Remote-ID
462If existent, the name of the section that describes the remote client
463ID we expect the remote daemon to send us.
464If not present, it defaults to the address of the remote daemon.
465Look at
466.Aq Sy Phase1-ID
467below.
468.It Em Transport
469The name of the transport protocol; defaults to UDP.
470.El
471.It Aq Sy Phase1-ID
472Parameters for Phase 1 negotiation
473.Bl -tag -width Ds
474.It Em Address
475If the ID-type is
476.Li IPV4_ADDR
477or
478.Li IPV6_ADDR ,
479this tag should exist and be an IP address.
480.It Em ID-type
481The ID type as given by the RFC specifications.
482For phase 1 this is currently
483.Li IPV4_ADDR ,
484.Li IPV4_ADDR_SUBNET ,
485.Li IPV6_ADDR ,
486.Li IPV6_ADDR_SUBNET ,
487.Li FQDN ,
488.Li USER_FQDN ,
489or
490.Li KEY_ID .
491.It Em Name
492If the ID-type is
493.Li FQDN ,
494.Li USER_FQDN ,
495or
496.Li KEY_ID ,
497this tag should exist and contain a domain name, user@domain, or
498other identifying string respectively.
499.Pp
500In the case of
501.Li KEY_ID ,
502note that the IKE protocol allows any octet sequence to be sent or
503received under this payload, potentially including non-printable
504ones.
505.Xr isakmpd 8
506can only transmit printable
507.Li KEY_ID
508payloads, but can receive and process arbitrary
509.Li KEY_ID
510payloads.
511This effectively means that non-printable
512.Li KEY_ID
513remote identities cannot be verified through this means, although it
514is still possible to do so through
515.Xr isakmpd.policy 5 .
516.It Em Netmask
517If the ID-type is
518.Li IPV4_ADDR_SUBNET
519or
520.Li IPV6_ADDR_SUBNET ,
521this tag should exist and
522be a network subnet mask.
523.It Em Network
524If the ID-type is
525.Li IPV4_ADDR_SUBNET
526or
527.Li IPV6_ADDR_SUBNET ,
528this tag should exist and
529be a network address.
530.El
531.It Aq Sy ISAKMP-configuration
532Parameters for ISAKMP configuration
533.Bl -tag -width Ds
534.It Em DOI
535The domain of interpretation as given by the RFCs.
536Normally
537.Li IPSEC .
538If unspecified, defaults to
539.Li IPSEC .
540.It Em EXCHANGE_TYPE
541The exchange type as given by the RFCs.
542For main mode this is
543.Li ID_PROT
544and for aggressive mode it is
545.Li AGGRESSIVE .
546.It Em Transforms
547A list of proposed transforms to use for protecting the
548ISAKMP traffic.
549These are actually names for sections
550further describing the transforms.
551Look at
552.Aq Sy ISAKMP-transform
553below.
554.El
555.It Aq Sy ISAKMP-transform
556Parameters for ISAKMP authentication
557.Bl -tag -width Ds
558.It Em AUTHENTICATION_METHOD
559The authentication method as the RFCs name it, or ANY.
560.It Em ENCRYPTION_ALGORITHM
561The encryption algorithm as the RFCs name it, or ANY to denote that any
562encryption algorithm proposed will be accepted.
563.It Em GROUP_DESCRIPTION
564The group used for Diffie-Hellman exponentiations, or ANY.
565The names are symbolic, like
566.Li MODP_768 , MODP_1024 , EC_155 ,
567and
568.Li EC_185 .
569.It Em HASH_ALGORITHM
570The hash algorithm as the RFCs name it, or ANY.
571.It Em KEY_LENGTH
572For encryption algorithms with variable key length, this is
573where the offered/accepted keylengths are described.
574The value is of the offer-accept kind described above.
575.It Em Life
576A list of lifetime descriptions, or ANY.
577In the former case, each
578element is in itself a name of the section that defines the lifetime.
579Look at
580.Aq Sy Lifetime
581below.
582If it is set to ANY, then any type of
583proposed lifetime type and value will be accepted.
584.It Em PRF
585The algorithm to use for the keyed pseudo-random function (used for key
586derivation and authentication in phase 1), or ANY.
587.El
588.It Aq Sy Lifetime
589Parameters for connection duration
590.Bl -tag -width Ds
591.It Em LIFE_DURATION
592An offer/accept kind of value; see above.
593Can also be set to ANY.
594.It Em LIFE_TYPE
595.Li SECONDS
596or
597.Li KILOBYTES
598depending on the type of the duration.
599Notice that this field may NOT be set to ANY.
600.El
601.It Aq Sy IPsec-connection
602Parameters for IPsec connection configuration
603.Bl -tag -width Ds
604.It Em Configuration
605The name of the IPsec-configuration section to use.
606Look at
607.Aq Sy IPsec-configuration
608below.
609.It Em Flags
610A comma-separated list of flags controlling the further
611handling of the IPsec SA.
612Currently only one flag is defined:
613.Bl -tag -width 12n
614.It Em Active-only
615If this flag is given and this
616.Aq Sy IPsec-connection
617is part of the phase 2
618connections we automatically keep up, it will not automatically be used for
619accepting connections from the peer.
620.El
621.It Em ISAKMP-peer
622The name of the ISAKMP-peer to talk to in order to
623set up this connection.
624The value is the name of an
625.Aq Sy ISAKMP-peer
626section.
627See above.
628.It Em Local-ID
629If existent, the name of the section that describes the
630optional local client ID that we should present to our peer.
631It is also used when we act as responders to find out what
632.Aq Sy IPsec-connection
633we are dealing with.
634Look at
635.Aq Sy IPsec-ID
636below.
637.It Em Phase
638The constant
639.Sq 2 ,
640as ISAKMP-peers and IPsec-connections
641really are handled by the same code inside
642.Xr isakmpd 8 .
643.It Em Remote-ID
644If existent, the name of the section that describes the
645optional remote client ID that we should present to our peer.
646It is also used when we act as responders to find out what
647.Aq Sy IPsec-connection
648we are dealing with.
649Look at
650.Aq Sy IPsec-ID
651below.
652.It Em PF-Tag
653Add a
654.Xr pf 4
655tag to all packets of phase 2 SAs created for this connection.
656This will allow matching packets for this connection by defining
657rules in
658.Xr pf.conf 5
659using the
660.Em tagged
661keyword.
662.Pp
663The following variables can be used in tags to include information
664from the remote peer on runtime:
665.Pp
666.Bl -tag -width $domain -compact -offset indent
667.It Ar $id
668The remote phase 1 ID.
669It will be expanded to
670.Ar id-type/id-value ,
671e.g.\&
672.Ar fqdn/foo.bar.org .
673.It Ar $domain
674Extract the domain from IDs of type FQDN or UFQDN.
675.El
676.Pp
677For example, if the ID is
678.Ar fqdn/foo.bar.org
679or
680.Ar ufqdn/user@bar.org ,
681.Dq PF-Tag=ipsec-$domain
682expands to
683.Dq ipsec-bar.org .
684The variable expansion for the
685.Ar PF-Tag
686directive occurs only at runtime, not during configuration file parse time.
687.El
688.It Aq Sy IPsec-configuration
689Parameters for IPsec configuration
690.Bl -tag -width Ds
691.It Em DOI
692The domain of interpretation as given by the RFCs.
693Normally
694.Li IPSEC .
695If unspecified, defaults to
696.Li IPSEC .
697.It Em EXCHANGE_TYPE
698The exchange type as given by the RFCs.
699For quick mode this is
700.Li QUICK_MODE .
701.It Em Suites
702A list of protection suites (bundles of protocols) usable for
703protecting the IP traffic.
704Each of the list elements is a name of an
705.Aq Sy IPsec-suite
706section.
707See below.
708.El
709.It Aq Sy IPsec-suite
710Parameters for IPsec protection suite configuration
711.Bl -tag -width Ds
712.It Em Protocols
713A list of the protocols included in this protection suite.
714Each of the list elements is a name of an
715.Aq Sy IPsec-protocol
716section.
717See below.
718.El
719.It Aq Sy IPsec-protocol
720Parameters for IPsec protocol configuration
721.Bl -tag -width Ds
722.It Em PROTOCOL_ID
723The protocol as given by the RFCs.
724Acceptable values are currently
725.Li IPSEC_AH
726and
727.Li IPSEC_ESP .
728.It Em ReplayWindow
729The size of the window used for replay protection.
730This is normally left alone.
731Look at the ESP and AH RFCs for a better description.
732.It Em Transforms
733A list of transforms usable for implementing the protocol.
734Each of the list elements is a name of an
735.Aq Sy IPsec-transform
736section.
737See below.
738.El
739.It Aq Sy IPsec-transform
740Parameters for IPsec transform configuration
741.Bl -tag -width Ds
742.It Em AUTHENTICATION_ALGORITHM
743The optional authentication algorithm in the case of this
744being an ESP transform.
745.It Em ENCAPSULATION_MODE
746The encapsulation mode as given by the RFCs.
747This means TRANSPORT or TUNNEL.
748.It Em GROUP_DESCRIPTION
749An optional (provides PFS if present) Diffie-Hellman group
750description.
751The values are the same as those for GROUP_DESCRIPTION in
752.Aq Sy ISAKMP-transform
753sections shown above.
754.It Em KEY_LENGTH
755For encryption algorithms with variable key length, this is
756where the offered keylength is described.
757.It Em Life
758List of lifetimes, each element is a
759.Aq Sy Lifetime
760section name.
761.It Em TRANSFORM_ID
762The transform ID as given by the RFCs.
763.El
764.It Aq Sy IPsec-ID
765Parameters for IPsec ID configuration
766.Bl -tag -width Ds
767.It Em Address
768If the ID-type is
769.Li IPV4_ADDR
770or
771.Li IPV6_ADDR ,
772this tag should exist and be an IP address, an interface name, or the
773.Em default
774keyword.
775If an interface is used, the first address of the appropriate
776family will be used.
777The
778.Em default
779keyword uses the interface associated with the default route.
780In the case of IPv6, link-local addresses will be skipped if
781addresses which are not link-local exist.
782If the address on the interface changes
783.Xr isakmpd 8
784will not track the change.
785The configuration must be reloaded to learn the new address.
786.It Em ID-type
787The ID type as given by the RFCs.
788For IPsec this is currently
789.Li IPV4_ADDR ,
790.Li IPV6_ADDR ,
791.Li IPV4_ADDR_SUBNET ,
792or
793.Li IPV6_ADDR_SUBNET .
794.It Em Netmask
795If the ID-type is
796.Li IPV4_ADDR_SUBNET
797or
798.Li IPV6_ADDR_SUBNET ,
799this tag should exist and
800be a network subnet mask or an interface.
801When an interface is specified, the netmask is the mask associated with the
802.Em Network .
803The
804.Em default
805keyword uses the interface associated with the default route.
806.It Em Network
807If the ID-type is
808.Li IPV4_ADDR_SUBNET
809or
810.Li IPV6_ADDR_SUBNET ,
811this tag should exist and be a network address, an interface, or the
812.Em default
813keyword.
814When an interface is specified, the network is selected as with the
815.Em Address
816tag.
817.It Em Port
818If the ID-type is
819.Li IPV4_ADDR ,
820.Li IPV4_ADDR_SUBNET ,
821.Li IPV6_ADDR ,
822or
823.Li IPV6_ADDR_SUBNET ,
824this tag indicates what source or destination port is allowed to be
825transported over the SA (depending on whether this is a local or
826remote ID).
827If left unspecified, all ports of the given transport protocol
828will be transmitted (or permitted) over the SA.
829The
830.Em Protocol
831tag must be specified in conjunction with this tag.
832.It Em Protocol
833If the ID-type is
834.Li IPV4_ADDR ,
835.Li IPV4_ADDR_SUBNET ,
836.Li IPV6_ADDR ,
837or
838.Li IPV6_ADDR_SUBNET ,
839this tag indicates what transport protocol should be transmitted over
840the SA.
841If left unspecified, all transport protocols between the two address
842(ranges) will be sent (or permitted) over that SA.
843.El
844.El
845.Sh OTHER SECTIONS
846.Bl -hang -width 8n
847.It Aq Sy IKECFG-ID
848Parameters to use with IKE mode-config.
849One ID per peer.
850.Pp
851An IKECFG-ID is written as [<ID-type>/<name>].
852The following ID types are supported:
853.Pp
854.Bl -tag -width "ASN1_DNXX" -offset indent -compact
855.It IPv4
856[ipv4/A.B.C.D]
857.It IPv6
858[ipv6/abcd:abcd::ab:cd]
859.It FQDN
860[fqdn/foo.bar.org]
861.It UFQDN
862[ufqdn/user@foo.bar.org]
863.It ASN1_DN
864[asn1_dn//C=aa/O=cc/...] (Note the double slashes as the DN itself
865starts with a
866.Sq / . )
867.El
868.Pp
869Each section specifies what configuration values to return to the peer
870requesting IKE mode-config.
871Currently supported values are:
872.Pp
873.Bl -tag -width "WINS-serverXX" -offset indent -compact
874.It Em Address
875The peer's network address.
876.It Em Netmask
877The peer's netmask.
878.It Em Nameserver
879The IP address of a DNS nameserver.
880.It Em WINS-server
881The IP address of a WINS server.
882.El
883.It Aq Sy Initiator-ID
884Parameters for peer initiator configuration
885.Pp
886During phase 1 negotiation
887.Xr isakmpd 8
888looks for a pre-shared key in the
889.Aq Sy ISAKMP-peer
890section.
891If no Authentication data is specified in that section, and
892.Xr isakmpd 8
893is not the initiator, it looks for Authentication data in a section named after
894the initiator's phase 1 ID.
895This allows mobile users with dynamic IP addresses
896to have different shared secrets.
897.Pp
898This only works for aggressive mode because in main mode the remote
899initiator ID would not yet be known.
900Note, however, that use of aggressive mode is discouraged.
901See
902.Sx CAVEATS ,
903below.
904.Pp
905The name of the
906.Aq Sy Initiator-ID
907section depends on the ID type sent by the initiator.
908Currently this can be:
909.Pp
910.Bl -tag -width "UFQDNXX" -offset indent -compact
911.It IPv4
912[A.B.C.D]
913.It IPv6
914[abcd:abcd::ab:cd]
915.It FQDN
916[foo.bar.org]
917.It UFQDN
918[user@foo.bar.org]
919.El
920.El
921.Sh FILES
922.Bl -tag -width /etc/isakmpd/isakmpd.conf
923.It Pa /etc/isakmpd/isakmpd.conf
924The default
925.Xr isakmpd 8
926configuration file.
927.El
928.Sh EXAMPLES
929An example of a configuration file:
930.Bd -literal
931# A configuration sample for the isakmpd ISAKMP/Oakley (aka IKEv1) daemon.
932
933[General]
934Listen-on=		10.1.0.2
935
936# Incoming phase 1 negotiations are multiplexed on the source IP address
937[Phase 1]
93810.1.0.1=		ISAKMP-peer-west
939
940# These connections are walked over after config file parsing and told
941# to the application layer so that it will inform us when traffic wants to
942# pass over them.  This means we can do on-demand keying.
943[Phase 2]
944Connections=		IPsec-east-west
945
946# Default values are commented out.
947[ISAKMP-peer-west]
948Phase=			1
949#Transport=		udp
950Local-address=		10.1.0.2
951Address=		10.1.0.1
952#Port=			isakmp
953#Port=			500
954#Configuration=		Default-phase-1-configuration
955Authentication=		mekmitasdigoat
956#Flags=
957
958[IPsec-east-west]
959Phase=			2
960ISAKMP-peer=		ISAKMP-peer-west
961Configuration=		Default-quick-mode
962Local-ID=		Net-east
963Remote-ID=		Net-west
964#Flags=
965
966[Net-west]
967ID-type=		IPV4_ADDR_SUBNET
968Network=		192.168.1.0
969Netmask=		255.255.255.0
970
971[Net-east]
972ID-type=		IPV4_ADDR_SUBNET
973Network=		192.168.2.0
974Netmask=		255.255.255.0
975
976# Quick mode descriptions
977
978[Default-quick-mode]
979EXCHANGE_TYPE=		QUICK_MODE
980Suites=			QM-ESP-3DES-SHA-PFS-SUITE,QM-ESP-AES-SHA-PFS-SUITE
981
982# Data for an IKE mode-config peer
983[asn1_dn//C=SE/L=SomeCity/O=SomeCompany/CN=SomePeer.company.com]
984Address=		192.168.1.123
985Netmask=		255.255.255.0
986Nameserver=		192.168.1.10
987WINS-server=		192.168.1.11
988
989# pre-shared key based on initiator's phase 1 ID
990[foo.bar.org]
991Authentication=		mekmitasdigoat
992
993#
994# #####################################################################
995# All configuration data below this point is not required as the example
996# uses the predefined Main Mode transform and Quick Mode suite names.
997# It is included here for completeness.  Note the default values for the
998# [General] and [X509-certificates] sections just below.
999# #####################################################################
1000#
1001
1002[General]
1003Policy-file=		/etc/isakmpd/isakmpd.policy
1004Retransmits=		3
1005Exchange-max-time=	120
1006
1007# KeyNote credential storage
1008[KeyNote]
1009Credential-directory=	/etc/isakmpd/keynote/
1010
1011# Certificates stored in PEM format
1012[X509-certificates]
1013CA-directory=           /etc/isakmpd/ca/
1014Cert-directory=         /etc/isakmpd/certs/
1015CRL-directory=		/etc/isakmpd/crls/
1016Private-key=		/etc/isakmpd/private/local.key
1017
1018# Default phase 1 description (Main Mode)
1019
1020[Default-phase-1-configuration]
1021EXCHANGE_TYPE=		ID_PROT
1022Transforms=		3DES-SHA
1023
1024# Main mode transforms
1025######################
1026
1027# DES
1028
1029[DES-MD5]
1030ENCRYPTION_ALGORITHM=	DES_CBC
1031HASH_ALGORITHM=		MD5
1032AUTHENTICATION_METHOD=	PRE_SHARED
1033GROUP_DESCRIPTION=	MODP_1024
1034Life=			LIFE_MAIN_MODE
1035
1036[DES-SHA]
1037ENCRYPTION_ALGORITHM=	DES_CBC
1038HASH_ALGORITHM=		SHA
1039AUTHENTICATION_METHOD=	PRE_SHARED
1040GROUP_DESCRIPTION=	MODP_1024
1041Life=			LIFE_MAIN_MODE
1042
1043# 3DES
1044
1045[3DES-SHA]
1046ENCRYPTION_ALGORITHM=	3DES_CBC
1047HASH_ALGORITHM=		SHA
1048AUTHENTICATION_METHOD=	PRE_SHARED
1049GROUP_DESCRIPTION=	MODP_1024
1050Life=			LIFE_MAIN_MODE
1051
1052# AES
1053
1054[AES-SHA]
1055ENCRYPTION_ALGORITHM=	AES_CBC
1056KEY_LENGTH=		128,128:256
1057HASH_ALGORITHM=		SHA
1058AUTHENTICATION_METHOD=	PRE_SHARED
1059GROUP_DESCRIPTION=	MODP_1024
1060Life=			LIFE_MAIN_MODE
1061
1062# AES-128
1063
1064[AES-128-SHA]
1065ENCRYPTION_ALGORITHM=   AES_CBC
1066KEY_LENGTH=             128,128:128
1067HASH_ALGORITHM=         SHA
1068AUTHENTICATION_METHOD=  PRE_SHARED
1069GROUP_DESCRIPTION=      MODP_1024
1070Life=                   LIFE_MAIN_MODE
1071
1072# AES-192
1073
1074[AES-192-SHA]
1075ENCRYPTION_ALGORITHM=   AES_CBC
1076KEY_LENGTH=             192,192:192
1077HASH_ALGORITHM=         SHA
1078AUTHENTICATION_METHOD=  PRE_SHARED
1079GROUP_DESCRIPTION=      MODP_1024
1080Life=                   LIFE_MAIN_MODE
1081
1082# AES-256
1083
1084[AES-256-SHA]
1085ENCRYPTION_ALGORITHM=   AES_CBC
1086KEY_LENGTH=             256,256:256
1087HASH_ALGORITHM=         SHA
1088AUTHENTICATION_METHOD=  PRE_SHARED
1089GROUP_DESCRIPTION=      MODP_1024
1090Life=                   LIFE_MAIN_MODE
1091
1092# Blowfish
1093
1094[BLF-SHA]
1095ENCRYPTION_ALGORITHM=	BLOWFISH_CBC
1096KEY_LENGTH=		128,96:192
1097HASH_ALGORITHM=		SHA
1098AUTHENTICATION_METHOD=	PRE_SHARED
1099GROUP_DESCRIPTION=	MODP_1024
1100Life=			LIFE_MAIN_MODE
1101
1102# Blowfish, using DH group 4 (non-default)
1103[BLF-SHA-EC185]
1104ENCRYPTION_ALGORITHM=	BLOWFISH_CBC
1105KEY_LENGTH=		128,96:192
1106HASH_ALGORITHM=		SHA
1107AUTHENTICATION_METHOD=	PRE_SHARED
1108GROUP_DESCRIPTION=	EC2N_185
1109Life=			LIFE_MAIN_MODE
1110
1111# Quick mode protection suites
1112##############################
1113
1114# DES
1115
1116[QM-ESP-DES-SUITE]
1117Protocols=		QM-ESP-DES
1118
1119[QM-ESP-DES-PFS-SUITE]
1120Protocols=		QM-ESP-DES-PFS
1121
1122[QM-ESP-DES-MD5-SUITE]
1123Protocols=		QM-ESP-DES-MD5
1124
1125[QM-ESP-DES-MD5-PFS-SUITE]
1126Protocols=		QM-ESP-DES-MD5-PFS
1127
1128[QM-ESP-DES-SHA-SUITE]
1129Protocols=		QM-ESP-DES-SHA
1130
1131[QM-ESP-DES-SHA-PFS-SUITE]
1132Protocols=		QM-ESP-DES-SHA-PFS
1133
1134# 3DES
1135
1136[QM-ESP-3DES-SHA-SUITE]
1137Protocols=		QM-ESP-3DES-SHA
1138
1139[QM-ESP-3DES-SHA-PFS-SUITE]
1140Protocols=		QM-ESP-3DES-SHA-PFS
1141
1142# AES
1143
1144[QM-ESP-AES-SHA-SUITE]
1145Protocols=              QM-ESP-AES-SHA
1146
1147[QM-ESP-AES-SHA-PFS-SUITE]
1148Protocols=              QM-ESP-AES-SHA-PFS
1149
1150# AES-128
1151
1152[QM-ESP-AES-128-SHA-SUITE]
1153Protocols=              QM-ESP-AES-128-SHA
1154
1155[QM-ESP-AES-128-SHA-PFS-SUITE]
1156Protocols=              QM-ESP-AES-128-SHA-PFS
1157
1158# AES-192
1159
1160[QM-ESP-AES-192-SHA-SUITE]
1161Protocols=              QM-ESP-AES-192-SHA
1162
1163[QM-ESP-AES-192-SHA-PFS-SUITE]
1164Protocols=              QM-ESP-AES-192-SHA-PFS
1165
1166# AES-256
1167
1168[QM-ESP-AES-256-SHA-SUITE]
1169Protocols=              QM-ESP-AES-256-SHA
1170
1171[QM-ESP-AES-256-SHA-PFS-SUITE]
1172Protocols=              QM-ESP-AES-256-SHA-PFS
1173
1174# AH
1175
1176[QM-AH-MD5-SUITE]
1177Protocols=		QM-AH-MD5
1178
1179[QM-AH-MD5-PFS-SUITE]
1180Protocols=		QM-AH-MD5-PFS
1181
1182# AH + ESP (non-default)
1183
1184[QM-AH-MD5-ESP-DES-SUITE]
1185Protocols=		QM-AH-MD5,QM-ESP-DES
1186
1187[QM-AH-MD5-ESP-DES-MD5-SUITE]
1188Protocols=		QM-AH-MD5,QM-ESP-DES-MD5
1189
1190[QM-ESP-DES-MD5-AH-MD5-SUITE]
1191Protocols=		QM-ESP-DES-MD5,QM-AH-MD5
1192
1193# Quick mode protocols
1194
1195# DES
1196
1197[QM-ESP-DES]
1198PROTOCOL_ID=		IPSEC_ESP
1199Transforms=		QM-ESP-DES-XF
1200
1201[QM-ESP-DES-MD5]
1202PROTOCOL_ID=		IPSEC_ESP
1203Transforms=		QM-ESP-DES-MD5-XF
1204
1205[QM-ESP-DES-MD5-PFS]
1206PROTOCOL_ID=		IPSEC_ESP
1207Transforms=		QM-ESP-DES-MD5-PFS-XF
1208
1209[QM-ESP-DES-SHA]
1210PROTOCOL_ID=		IPSEC_ESP
1211Transforms=		QM-ESP-DES-SHA-XF
1212
1213# 3DES
1214
1215[QM-ESP-3DES-SHA]
1216PROTOCOL_ID=		IPSEC_ESP
1217Transforms=		QM-ESP-3DES-SHA-XF
1218
1219[QM-ESP-3DES-SHA-PFS]
1220PROTOCOL_ID=		IPSEC_ESP
1221Transforms=		QM-ESP-3DES-SHA-PFS-XF
1222
1223[QM-ESP-3DES-SHA-TRP]
1224PROTOCOL_ID=		IPSEC_ESP
1225Transforms=		QM-ESP-3DES-SHA-TRP-XF
1226
1227# AES
1228
1229[QM-ESP-AES-SHA]
1230PROTOCOL_ID=		IPSEC_ESP
1231Transforms=		QM-ESP-AES-SHA-XF
1232
1233[QM-ESP-AES-SHA-PFS]
1234PROTOCOL_ID=		IPSEC_ESP
1235Transforms=		QM-ESP-AES-SHA-PFS-XF
1236
1237[QM-ESP-AES-SHA-TRP]
1238PROTOCOL_ID=		IPSEC_ESP
1239Transforms=		QM-ESP-AES-SHA-TRP-XF
1240
1241# AES-128
1242
1243[QM-ESP-AES-128-SHA]
1244PROTOCOL_ID=            IPSEC_ESP
1245Transforms=             QM-ESP-AES-128-SHA-XF
1246
1247[QM-ESP-AES-128-SHA-PFS]
1248PROTOCOL_ID=            IPSEC_ESP
1249Transforms=             QM-ESP-AES-128-SHA-PFS-XF
1250
1251[QM-ESP-AES-128-SHA-TRP]
1252PROTOCOL_ID=            IPSEC_ESP
1253Transforms=             QM-ESP-AES-128-SHA-TRP-XF
1254
1255# AES-192
1256
1257[QM-ESP-AES-192-SHA]
1258PROTOCOL_ID=            IPSEC_ESP
1259Transforms=             QM-ESP-AES-192-SHA-XF
1260
1261[QM-ESP-AES-192-SHA-PFS]
1262PROTOCOL_ID=            IPSEC_ESP
1263Transforms=             QM-ESP-AES-192-SHA-PFS-XF
1264
1265[QM-ESP-AES-192-SHA-TRP]
1266PROTOCOL_ID=            IPSEC_ESP
1267Transforms=             QM-ESP-AES-192-SHA-TRP-XF
1268
1269# AES-256
1270
1271[QM-ESP-AES-256-SHA]
1272PROTOCOL_ID=            IPSEC_ESP
1273Transforms=             QM-ESP-AES-256-SHA-XF
1274
1275[QM-ESP-AES-256-SHA-PFS]
1276PROTOCOL_ID=            IPSEC_ESP
1277Transforms=             QM-ESP-AES-256-SHA-PFS-XF
1278
1279[QM-ESP-AES-256-SHA-TRP]
1280PROTOCOL_ID=            IPSEC_ESP
1281Transforms=             QM-ESP-AES-256-SHA-TRP-XF
1282
1283
1284# AH MD5
1285
1286[QM-AH-MD5]
1287PROTOCOL_ID=		IPSEC_AH
1288Transforms=		QM-AH-MD5-XF
1289
1290[QM-AH-MD5-PFS]
1291PROTOCOL_ID=		IPSEC_AH
1292Transforms=		QM-AH-MD5-PFS-XF
1293
1294# Quick mode transforms
1295
1296# ESP DES+MD5
1297
1298[QM-ESP-DES-XF]
1299TRANSFORM_ID=		DES
1300ENCAPSULATION_MODE=	TUNNEL
1301Life=			LIFE_QUICK_MODE
1302
1303[QM-ESP-DES-MD5-XF]
1304TRANSFORM_ID=		DES
1305ENCAPSULATION_MODE=	TUNNEL
1306AUTHENTICATION_ALGORITHM=	HMAC_MD5
1307Life=			LIFE_QUICK_MODE
1308
1309[QM-ESP-DES-MD5-PFS-XF]
1310TRANSFORM_ID=		DES
1311ENCAPSULATION_MODE=	TUNNEL
1312GROUP_DESCRIPTION=	MODP_1024
1313AUTHENTICATION_ALGORITHM=	HMAC_MD5
1314Life=			LIFE_QUICK_MODE
1315
1316[QM-ESP-DES-SHA-XF]
1317TRANSFORM_ID=		DES
1318ENCAPSULATION_MODE=	TUNNEL
1319AUTHENTICATION_ALGORITHM=	HMAC_SHA
1320Life=			LIFE_QUICK_MODE
1321
1322# 3DES
1323
1324[QM-ESP-3DES-SHA-XF]
1325TRANSFORM_ID=		3DES
1326ENCAPSULATION_MODE=	TUNNEL
1327AUTHENTICATION_ALGORITHM=	HMAC_SHA
1328Life=			LIFE_QUICK_MODE
1329
1330[QM-ESP-3DES-SHA-PFS-XF]
1331TRANSFORM_ID=		3DES
1332ENCAPSULATION_MODE=	TUNNEL
1333AUTHENTICATION_ALGORITHM=	HMAC_SHA
1334GROUP_DESCRIPTION=	MODP_1024
1335Life=			LIFE_QUICK_MODE
1336
1337[QM-ESP-3DES-SHA-TRP-XF]
1338TRANSFORM_ID=		3DES
1339ENCAPSULATION_MODE=	TRANSPORT
1340AUTHENTICATION_ALGORITHM=	HMAC_SHA
1341Life=			LIFE_QUICK_MODE
1342
1343# AES
1344
1345[QM-ESP-AES-SHA-XF]
1346TRANSFORM_ID=		AES
1347ENCAPSULATION_MODE=	TUNNEL
1348AUTHENTICATION_ALGORITHM=	HMAC_SHA
1349KEY_LENGTH=		128
1350Life=			LIFE_QUICK_MODE
1351
1352[QM-ESP-AES-SHA-PFS-XF]
1353TRANSFORM_ID=		AES
1354ENCAPSULATION_MODE=	TUNNEL
1355AUTHENTICATION_ALGORITHM=	HMAC_SHA
1356GROUP_DESCRIPTION=	MODP_1024
1357KEY_LENGTH=		128
1358Life=			LIFE_QUICK_MODE
1359
1360[QM-ESP-AES-SHA-TRP-XF]
1361TRANSFORM_ID=		AES
1362ENCAPSULATION_MODE=	TRANSPORT
1363AUTHENTICATION_ALGORITHM=	HMAC_SHA
1364KEY_LENGTH=		128
1365Life=			LIFE_QUICK_MODE
1366
1367# AES-128
1368
1369[QM-ESP-AES-128-SHA-XF]
1370TRANSFORM_ID=           AES
1371ENCAPSULATION_MODE=     TUNNEL
1372AUTHENTICATION_ALGORITHM=       HMAC_SHA
1373KEY_LENGTH=             128
1374Life=                   LIFE_QUICK_MODE
1375
1376[QM-ESP-AES-128-SHA-PFS-XF]
1377TRANSFORM_ID=           AES
1378ENCAPSULATION_MODE=     TUNNEL
1379AUTHENTICATION_ALGORITHM=       HMAC_SHA
1380GROUP_DESCRIPTION=      MODP_1024
1381KEY_LENGTH=             128
1382Life=                   LIFE_QUICK_MODE
1383
1384[QM-ESP-AES-128-SHA-TRP-XF]
1385TRANSFORM_ID=           AES
1386ENCAPSULATION_MODE=     TRANSPORT
1387AUTHENTICATION_ALGORITHM=       HMAC_SHA
1388KEY_LENGTH=             128
1389Life=                   LIFE_QUICK_MODE
1390
1391# AES-192
1392
1393[QM-ESP-AES-192-SHA-XF]
1394TRANSFORM_ID=           AES
1395ENCAPSULATION_MODE=     TUNNEL
1396AUTHENTICATION_ALGORITHM=       HMAC_SHA
1397KEY_LENGTH=             192
1398Life=                   LIFE_QUICK_MODE
1399
1400[QM-ESP-AES-192-SHA-PFS-XF]
1401TRANSFORM_ID=           AES
1402ENCAPSULATION_MODE=     TUNNEL
1403AUTHENTICATION_ALGORITHM=       HMAC_SHA
1404GROUP_DESCRIPTION=      MODP_1024
1405KEY_LENGTH=             192
1406Life=                   LIFE_QUICK_MODE
1407
1408[QM-ESP-AES-192-SHA-TRP-XF]
1409TRANSFORM_ID=           AES
1410ENCAPSULATION_MODE=     TRANSPORT
1411AUTHENTICATION_ALGORITHM=       HMAC_SHA
1412KEY_LENGTH=             192
1413Life=                   LIFE_QUICK_MODE
1414
1415# AES-256
1416
1417[QM-ESP-AES-256-SHA-XF]
1418TRANSFORM_ID=           AES
1419ENCAPSULATION_MODE=     TUNNEL
1420AUTHENTICATION_ALGORITHM=       HMAC_SHA
1421KEY_LENGTH=             256
1422Life=                   LIFE_QUICK_MODE
1423
1424[QM-ESP-AES-256-SHA-PFS-XF]
1425TRANSFORM_ID=           AES
1426ENCAPSULATION_MODE=     TUNNEL
1427AUTHENTICATION_ALGORITHM=       HMAC_SHA
1428GROUP_DESCRIPTION=      MODP_1024
1429KEY_LENGTH=             256
1430Life=                   LIFE_QUICK_MODE
1431
1432[QM-ESP-AES-256-SHA-TRP-XF]
1433TRANSFORM_ID=           AES
1434ENCAPSULATION_MODE=     TRANSPORT
1435AUTHENTICATION_ALGORITHM=       HMAC_SHA
1436KEY_LENGTH=             256
1437Life=                   LIFE_QUICK_MODE
1438
1439
1440# AH
1441
1442[QM-AH-MD5-XF]
1443TRANSFORM_ID=		MD5
1444ENCAPSULATION_MODE=	TUNNEL
1445AUTHENTICATION_ALGORITHM=	HMAC_MD5
1446Life=			LIFE_QUICK_MODE
1447
1448[QM-AH-MD5-PFS-XF]
1449TRANSFORM_ID=		MD5
1450ENCAPSULATION_MODE=	TUNNEL
1451GROUP_DESCRIPTION=	MODP_1024
1452Life=			LIFE_QUICK_MODE
1453
1454[Sample-Life-Time]
1455LIFE_TYPE=		SECONDS
1456LIFE_DURATION=		3600,1800:7200
1457
1458[Sample-Life-Volume]
1459LIFE_TYPE=		KILOBYTES
1460LIFE_DURATION=		1000,768:1536
1461.Ed
1462.Sh SEE ALSO
1463.Xr keynote 1 ,
1464.Xr openssl 1 ,
1465.Xr ipsec 4 ,
1466.Xr keynote 4 ,
1467.Xr isakmpd.policy 5 ,
1468.Xr isakmpd 8
1469.Sh CAVEATS
1470Using aggressive mode is discouraged due to various design problems.
1471If your peer only supports aggressive mode, please consider replacing that
1472peer with a sane ISAKMP/IKE implementation.
1473For details see
1474.Lk http://www.usenix.org/publications/login/1999-12/features/harmful.html .
1475.Sh BUGS
1476The RFCs do not permit differing DH groups in the same proposal for
1477aggressive and quick mode exchanges.
1478Mixing both PFS and non-PFS suites in a quick mode proposal is not possible,
1479as PFS implies using a DH group.
1480