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