xref: /openbsd/sbin/isakmpd/isakmpd.conf.5 (revision 52250141)
1*52250141Smoritz.\" $OpenBSD: isakmpd.conf.5,v 1.98 2005/02/22 21:44:55 moritz Exp $
2e55ca143Sniklas.\" $EOM: isakmpd.conf.5,v 1.57 2000/12/21 14:43:17 ho Exp $
32040585eSniklas.\"
444f0148dSniklas.\" Copyright (c) 1998, 1999, 2000 Niklas Hallqvist.  All rights reserved.
54ca71560Sho.\" Copyright (c) 2000, 2001, 2002 H�kan Olsson.  All rights reserved.
62040585eSniklas.\"
72040585eSniklas.\" Redistribution and use in source and binary forms, with or without
82040585eSniklas.\" modification, are permitted provided that the following conditions
92040585eSniklas.\" are met:
102040585eSniklas.\" 1. Redistributions of source code must retain the above copyright
112040585eSniklas.\"    notice, this list of conditions and the following disclaimer.
122040585eSniklas.\" 2. Redistributions in binary form must reproduce the above copyright
132040585eSniklas.\"    notice, this list of conditions and the following disclaimer in the
142040585eSniklas.\"    documentation and/or other materials provided with the distribution.
152040585eSniklas.\"
162040585eSniklas.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
172040585eSniklas.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
182040585eSniklas.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
192040585eSniklas.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
202040585eSniklas.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
212040585eSniklas.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
222040585eSniklas.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
232040585eSniklas.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
242040585eSniklas.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
252040585eSniklas.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
262040585eSniklas.\"
272040585eSniklas.\" This code was written under funding by Ericsson Radio Systems.
282040585eSniklas.\"
292040585eSniklas.\" Manual page, using -mandoc macros
302040585eSniklas.\"
3172578f93Sho.Dd August 07, 2002
3258aefd4bSaaron.Dt ISAKMPD.CONF 5
332040585eSniklas.Os
342040585eSniklas.Sh NAME
352040585eSniklas.Nm isakmpd.conf
3658aefd4bSaaron.Nd configuration file for isakmpd
372040585eSniklas.Sh DESCRIPTION
3858aefd4bSaaron.Nm
3958aefd4bSaaronis the configuration file for the
402040585eSniklas.Nm isakmpd
412040585eSniklasdaemon managing security association and key management for the
4261d575f0SangelosIPsec layer of the kernel's networking stack.
432040585eSniklas.Pp
442040585eSniklasThe file is of a well known type of format called .INI style, named after
452040585eSniklasthe suffix used by an overrated windowing environment for its configuration
469615e1d4Saaronfiles.
479615e1d4SaaronThis format consists of sections, each beginning with a line looking like:
482040585eSniklas.Bd -literal
492040585eSniklas[Section name]
502040585eSniklas.Ed
512040585eSniklasBetween the brackets is the name of the section following this section header.
522040585eSniklasInside a section many tag/value pairs can be stored, each one looking like:
532040585eSniklas.Bd -literal
542040585eSniklasTag=Value
552040585eSniklas.Ed
562040585eSniklasIf the value needs more space than fits on a single line it's possible to
57a2067f52Sniklascontinue it on the next by ending the first with a backslash character
589615e1d4Saaronimmediately before the newline character.
590e2d4717SkjellThis method can extend a value for an arbitrary number of lines.
602040585eSniklas.Pp
6158aefd4bSaaronComments can be put anywhere in the file by using a hash mark
6258aefd4bSaaron.Pq Sq \&# .
630e2d4717SkjellThe comment extends to the end of the current line.
642040585eSniklas.Pp
65c5fe6c4eSniklasOften the right-hand side values consist of other section names.
66c5fe6c4eSniklasThis results in a tree structure.
670e2d4717SkjellSome values are treated as a list of several scalar values.
680e2d4717SkjellSuch lists always use a comma character as the separator.
699615e1d4SaaronSome values are formatted like this: X,Y:Z, which
70c5fe6c4eSniklasis an offer/accept syntax, where X is a value we offer and Y:Z is a range of
71c5fe6c4eSniklasaccepted values, inclusive.
72c5fe6c4eSniklas.Pp
73bad0180eShoTo activate changes to
74bad0180eSho.Nm
75bad0180eShowithout restarting
76bad0180eSho.Nm isakmpd ,
774eb3dd62Sjmcsend a
784eb3dd62Sjmc.Dv SIGHUP
794eb3dd62Sjmcsignal to the daemon process.
8052e712aeSniklas.Ss Auto-generated parts of the configuration
8152e712aeSniklas.Pp
820e2d4717SkjellSome predefined section names are recognized by the daemon, avoiding the need
830e2d4717Skjellto fully specify the Main Mode transforms and Quick Mode suites, protocols,
8452e712aeSniklasand transforms.
8552e712aeSniklas.Pp
8652e712aeSniklasFor Main Mode:
8718656612Saaron.Bd -filled -compact
8887ab220eShshoexer.Ar {DES,BLF,3DES,CAST,AES}-{MD5,SHA}[-GRP{1,2,5,14}][-{DSS,RSA_SIG}]
8952e712aeSniklas.Ed
9052e712aeSniklas.Pp
9152e712aeSniklasFor Quick Mode:
9218656612Saaron.Bd -filled -compact
932039fcadSho.Ar QM-{proto}[-TRP]-{cipher}[-{hash}][-PFS[-{group}]]-SUITE
942039fcadSho.Ed
952039fcadSho.Bd -literal
962039fcadSho  where
972039fcadSho    {proto}  is either ESP or AH
982039fcadSho    {cipher} is either DES, 3DES, CAST, BLF or AES
99daa7789bSmarkus    {hash}   is either MD5, SHA, RIPEMD, SHA2-{256,384,512}
10087ab220eShshoexer    {group}  is either GRP1, GRP2, GRP5 or GRP14
10152e712aeSniklas.Ed
10252e712aeSniklas.Pp
1030e2d4717SkjellFor example, 3DES-SHA means: 3DES encryption, SHA hash, and authorization by
10452e712aeSniklaspre-shared keys.
1050e2d4717SkjellSimilarly, QM-ESP-3DES-SHA-PFS-SUITE means: ESP protocol, 3DES encryption,
10682184a41SjmcSHA hash, and use Perfect Forward Secrecy.
10752e712aeSniklas.Pp
10887ab220eShshoexerUnless explicitly stated with -GRP1, 2, 5 or 14 transforms and PFS suites
1094eb3dd62Sjmcuse DH group 2.
1104eb3dd62SjmcThere are currently no predefined ESP+AH Quick Mode suites.
11152e712aeSniklas.Pp
1122039fcadShoThe predefinitions include some default values for the special
113419caefeShosections "General", "Keynote", "X509-certificates", and
11435ff0956Sho"Default-phase-1-configuration".
115419caefeShoThese default values are presented in the example below.
11652e712aeSniklas.Pp
11752e712aeSniklasAll autogenerated values can be overridden by manual entries by using the
11852e712aeSniklassame section and tag names in the configuration file.
119b57b191eSniklasIn particular, the default phase 1 (Main or Aggressive Mode) and phase 2
120b57b191eSniklas(Quick Mode) lifetimes can be overridden by these tags under the "General"
121b57b191eSniklassection;
122b57b191eSniklas.Bd -literal
123b57b191eSniklas[General]
124b57b191eSniklasDefault-phase-1-lifetime=	3600,60:86400
125b57b191eSniklasDefault-phase-2-lifetime=	1200,60:86400
126b57b191eSniklas.Ed
1272039fcadSho.Pp
1282039fcadShoThe Main Mode lifetime currently defaults to one hour (minimum 60
1294eb3dd62Sjmcseconds, maximum 1 day).
1304eb3dd62SjmcThe Quick Mode lifetime defaults to 20 minutes
1314eb3dd62Sjmc(minimum 60 seconds, maximum 1 day).
13252e712aeSniklas.Pp
13335ff0956ShoAlso, the default phase 1 ID can be set by creating a <Phase1-ID>
1340378d1f2Sniklassection, as shown below, and adding this tag under the "General"
1350378d1f2Sniklassection;
1360378d1f2Sniklas.Bd -literal
1370378d1f2Sniklas[General]
1380378d1f2SniklasDefault-phase-1-ID=		Phase1-ID-name
1390378d1f2Sniklas
1400378d1f2Sniklas[Phase1-ID-name]
1410378d1f2SniklasID-type=			USER_FQDN
1420378d1f2SniklasName=				foo@bar.com
1430378d1f2Sniklas.Ed
144c5fe6c4eSniklas.Ss Roots
145c5fe6c4eSniklas.Bl -hang -width 12n
146c5fe6c4eSniklas.It Em General
147c5fe6c4eSniklasGeneric global configuration parameters
148c5fe6c4eSniklas.Bl -tag -width 12n
14935ff0956Sho.It Em Default-phase-1-ID
15035ff0956ShoOptional default phase 1 ID name.
15135ff0956Sho.It Em Default-phase-1-lifetime
15235ff0956ShoThe default lifetime for autogenerated transforms (phase 1).
15335ff0956ShoIf unspecified, the value 3600,60:86400 is used as the default.
15435ff0956Sho.It Em Default-phase-2-lifetime
15535ff0956ShoThe default lifetime for autogenerated suites (phase 2).
15635ff0956ShoIf unspecified, the value 1200,60:86400 is used as the default.
15735ff0956Sho.It Em Default-phase-2-suites
15835ff0956ShoA list of phase 2 suites that will be used when establishing dynamic
15935ff0956ShoSAs.
16035ff0956ShoIf left unspecified, QM-ESP-3DES-SHA-PFS-SUITE is used as the default.
161e0eef2f9Shshoexer.It Em Acquire-Only
162e0eef2f9ShshoexerIf this tag is defined,
163e0eef2f9Shshoexer.Nm isakmpd
164e0eef2f9Shshoexerwill not set up flows automatically.
165e0eef2f9ShshoexerThis is useful when flows are configured with
166e0eef2f9Shshoexer.Xr ipsecadm 4
167e0eef2f9Shshoexeror by other programs like
168e0eef2f9Shshoexer.Xr bgpd 8 .
169e0eef2f9ShshoexerThus
170e0eef2f9Shshoexer.Nm isakmpd
171e0eef2f9Shshoexeronly takes care of the SA establishment.
17235ff0956Sho.It Em Check-interval
173e0d722f1ShoThe interval between watchdog checks of connections we want up at all
174e0d722f1Shotimes.
175e0d722f1Sho.It Em DPD-check-interval
176e0d722f1ShoThe interval between RFC 3706 (Dead Peer Detection) messages.
177e0d722f1ShoThe default value is 0 (zero), which means DPD is disabled.
17835ff0956Sho.It Em Exchange-max-time
17935ff0956ShoHow many seconds should an exchange maximally take to set up before we
18035ff0956Shogive up.
18135ff0956Sho.It Em Listen-on
18235ff0956ShoA list of IP-addresses OK to listen on.
18335ff0956ShoThis list is used as a filter for the set of addresses the interfaces
18435ff0956Shoconfigured provides.
18535ff0956ShoThis means that we won't see if an address given here does not exist
18635ff0956Shoon this host, and thus no error is given for that case.
1874e2ad344Shshoexer.It Em Loglevel
1884e2ad344ShshoexerA list of the form
1894e2ad344Shshoexer.Ar class Ns = Ns Ar level ,
1904e2ad344Shshoexerwhere both
1914e2ad344Shshoexer.Ar class
1924e2ad344Shshoexerand
1934e2ad344Shshoexer.Ar level
1944e2ad344Shshoexerare numbers.
1954e2ad344ShshoexerThis is similar to the
1964e2ad344Shshoexer.Fl D
1974e2ad344Shshoexercommand line switch of
1984e2ad344Shshoexer.Em isakmpd .
1994e2ad344ShshoexerSee
2004e2ad344Shshoexer.Xr isakmpd 8
2014e2ad344Shshoexerfor details.
2024e2ad344Shshoexer.It Em Logverbose
2034e2ad344ShshoexerIf this tag is defined, whatever the value is, verbose logging is enabled.
2044e2ad344ShshoexerThis is similar to the
2054e2ad344Shshoexer.Fl v
206235cbc01Sjmccommand line switch of
2074e2ad344Shshoexer.Em isakmpd .
2084e2ad344ShshoexerSee
2094e2ad344Shshoexer.Xr isakmpd 8
2104e2ad344Shshoexerfor details.
2110b2bcfccSho.It Em NAT-T-Keepalive
2120b2bcfccShoThe number of seconds between NAT-T keepalive messages, sent by the
213d4c8cd14Sjmcpeer behind NAT to keep the mapping active.
214d4c8cd14SjmcDefaults to 20.
215447a9f3aSho.It Em Policy-file
21680c8b3dbSniklasThe name of the file that contains
2171215c700Sjmc.Xr keynote 4
2184aac73a4Saaronpolicies.
2194aac73a4SaaronThe default is "/etc/isakmpd/isakmpd.policy".
2200b880a72Sho.It Em Pubkey-directory
2210b880a72ShoThe directory in which
2220b880a72Sho.Nm
223ac1aa35bSmpechlooks for explicitly trusted public keys.
224ac1aa35bSmpechThe default is "/etc/isakmpd/pubkeys".
225ac1aa35bSmpechRead
2260b880a72Sho.Xr isakmpd 8
2270b880a72Shofor the required naming convention of the files in here.
2284d27bb0fSho.It Em Renegotiate-on-HUP
2294d27bb0fShoIf this tag is defined, whatever the value is,
2304d27bb0fSho.Nm isakmpd
2314eb3dd62Sjmcwill renegotiate all current phase 2 SAs when the daemon receives a
2324eb3dd62Sjmc.Dv SIGHUP
2334eb3dd62Sjmcsignal, or an
2344eb3dd62Sjmc.Sq R
2354eb3dd62Sjmcis sent to the FIFO interface (see
2364d27bb0fSho.Xr isakmpd 8 ) .
23735ff0956Sho.It Em Retransmits
23835ff0956ShoHow many times should a message be retransmitted before giving up.
23935ff0956Sho.It Em Shared-SADB
24035ff0956ShoIf this tag is defined, whatever the value is, some semantics of
24135ff0956Sho.Nm
24235ff0956Shoare changed so that multiple instances can run on top of one SADB
24335ff0956Shoand set up SAs with each other.
24435ff0956ShoSpecifically this means replay
24535ff0956Shoprotection will not be asked for, and errors that can occur when
24635ff0956Shoupdating an SA with its parameters a 2nd time will be ignored.
247e0eef2f9Shshoexer.It Em Use-Keynote
248e0eef2f9ShshoexerThis tag controls the use of
249e0eef2f9Shshoexer.Xr keynote 4
250e0eef2f9Shshoexerpolicy checking.
251e0eef2f9ShshoexerThe default value is
252e0eef2f9Shshoexer.Qq yes ,
253e0eef2f9Shshoexerwhich enables the policy checking.
254e0eef2f9ShshoexerWhen set to any other value, policies will not be checked.
2557a9bba63SjmcThis is useful when policies for flows and SA establishment are arranged by
256e0eef2f9Shshoexerother programs like
257e0eef2f9Shshoexer.Xr ipsecadm 8
258e0eef2f9Shshoexeror
259e0eef2f9Shshoexer.Xr bgpd 8 .
260c5fe6c4eSniklas.El
261c5fe6c4eSniklas.It Em Phase 1
262c5fe6c4eSniklasISAKMP SA negotiation parameter root
263c5fe6c4eSniklas.Bl -tag -width 12n
264c5fe6c4eSniklas.It Em <IP-address>
2659615e1d4SaaronA name of the ISAKMP peer at the given IP-address.
266cc3c8b42Sniklas.It Em Default
267ac1aa35bSmpechA name of the default ISAKMP peer.
26835ff0956ShoIncoming phase 1 connections from other IP-addresses will use this peer name.
269cc3c8b42Sniklas.It ""
2709615e1d4SaaronThis name is used as the section name for further information to be found.
2719615e1d4SaaronLook at <ISAKMP-peer> below.
272c5fe6c4eSniklas.El
273c5fe6c4eSniklas.It Em Phase 2
274c5fe6c4eSniklasIPsec SA negotiation parameter root
275c5fe6c4eSniklas.Bl -tag -width 12n
276c5fe6c4eSniklas.It Em Connections
27761d575f0SangelosA list of directed IPsec "connection" names that should be brought up
2782ddc24cbSniklasautomatically, either on first use if the system supports it, or at
2799615e1d4Saaronstartup of the daemon.
2809615e1d4SaaronThese names are section names where further information can be found.
28161d575f0SangelosLook at <IPsec-connection> below.
28244143af3SderaadtNormally any connections mentioned here are treated as part of the
28380baf197Sniklas"Passive-connection" list we present below, however there is a
2849615e1d4Saaronflag: "Active-only" that disables this behaviour.
28561d575f0SangelosThis too is mentioned in the <IPsec-connection> section, in the "Flags" tag.
28680baf197Sniklas.It Em Passive-connections
28761d575f0SangelosA list of IPsec "connection" names we recognize and accept initiations for.
2889615e1d4SaaronThese names are section names where further information can be found.
28961d575f0SangelosLook at <IPsec-connection> below.
2909615e1d4SaaronCurrently only the Local-ID and Remote-ID tags
29180baf197Sniklasare looked at in those sections, as they are matched against the IDs given
29280baf197Sniklasby the initiator.
293c5fe6c4eSniklas.El
294b57b191eSniklas.It Em KeyNote
295b57b191eSniklas.Bl -tag -width 12n
296b57b191eSniklas.It Em Credential-directory
297b57b191eSniklasA directory containing directories named after IDs (IP
2984eb3dd62Sjmcaddresses,
2994eb3dd62Sjmc.Dq user@domain ,
3004eb3dd62Sjmcor hostnames) that contain files named
3014eb3dd62Sjmc.Dq credentials
3024eb3dd62Sjmcand
3034eb3dd62Sjmc.Dq private_key .
304b57b191eSniklas.Pp
305b57b191eSniklasThe credentials file contains
306b57b191eSniklas.Xr keynote 4
307b57b191eSniklascredentials that are sent to a remote IKE daemon when we use the
308b57b191eSniklasassociated ID, or credentials that we may want to consider when doing
309ac1aa35bSmpechan exchange with a remote IKE daemon that uses that ID.
310ac1aa35bSmpechNote that, in the former case, the last credential in the file
311ac1aa35bSmpechMUST contain our public key in its Licensees field.
312ac1aa35bSmpechMore than one credentials may exist in the file.
313ac1aa35bSmpechThey are separated by whitelines (the format is essentially the same as
314ac1aa35bSmpechthat of the policy file).
315ac1aa35bSmpechThe credentials are of the same format as the policies described in
316b57b191eSniklas.Xr isakmpd.policy 5 .
317b57b191eSniklasThe only difference is that the Authorizer field contains a public
318ac1aa35bSmpechkey, and the assertion is signed.
319ac1aa35bSmpechSigned assertions can be generated using the
320b57b191eSniklas.Xr keynote 1
321b57b191eSniklasutility.
322b57b191eSniklas.Pp
323b57b191eSniklasThe private_key file contains the private RSA key we use for
324ac1aa35bSmpechauthentication.
325ac1aa35bSmpechIf the directory (and the files) exist, they take precedence over X509-based
326ac1aa35bSmpechauthentication.
327b57b191eSniklas.El
328fb1921ccSniklas.It Em X509-Certificates
329fb1921ccSniklas.Bl -tag -width 12n
33035ff0956Sho.It Em Accept-self-signed
33135ff0956ShoIf this tag is defined, whatever the value is, certificates that
33235ff0956Shodo not originate from a trusted CA but are self-signed will be
33335ff0956Shoaccepted.
334fb1921ccSniklas.It Em Ca-directory
335fb1921ccSniklasA directory containing PEM certificates of certification authorities
336ac1aa35bSmpechthat we trust to sign other certificates.
337ac1aa35bSmpechNote that for a CA to be really trusted, it needs to be somehow
338ac1aa35bSmpechreferred to by policy, in
339e5814869Sangelos.Xr isakmpd.policy 5 .
340e5814869SangelosThe certificates in this directory are used for the actual X.509
341e5814869Sangelosauthentication and for cross-referencing policies that refer to
342ac1aa35bSmpechDistinguished Names (DNs).
343ac1aa35bSmpechKeeping a separate directory (as opposed to integrating policies
344ac1aa35bSmpechand X.509 CA certificates) allows for maintenance of a list of
345ac1aa35bSmpech"well known" CAs without actually having to trust all (or any) of them.
346fb1921ccSniklas.It Em Cert-directory
347fb1921ccSniklasA directory containing PEM certificates that we trust to be valid.
348fb1921ccSniklasThese certificates are used in preference to those passed in messages and
3490e2d4717Skjellare required to have a subjectAltName extension containing the certificate
3500e2d4717Skjellholder identity; usually IP address, FQDN, or User FQDN, as provided by
3510e2d4717Skjell.Xr certpatch 8 .
352954b1b31Sniklas.It Em Private-key
353954b1b31SniklasThe private key matching the public key of our certificate (which should be
3540e2d4717Skjellin the "Cert-directory", and have an appropriate subjectAltName field).
355fb1921ccSniklas.El
356c5fe6c4eSniklas.El
357c5fe6c4eSniklas.Ss Referred-to sections
358c5fe6c4eSniklas.Bl -hang -width 12n
359c5fe6c4eSniklas.It Em <ISAKMP-peer>
360c5fe6c4eSniklasParameters for negotiation with an ISAKMP peer
361c5fe6c4eSniklas.Bl -tag -width 12n
362c5fe6c4eSniklas.It Em Phase
363c5fe6c4eSniklasThe constant
364c5fe6c4eSniklas.Li 1 ,
36561d575f0Sangelosas ISAKMP-peers and IPsec-connections
366c5fe6c4eSniklasreally are handled by the same code inside isakmpd.
367c5fe6c4eSniklas.It Em Transport
368cc3c8b42SniklasThe name of the transport protocol, defaults to
369cc3c8b42Sniklas.Li UDP .
370cc3c8b42Sniklas.It Em Port
371cc3c8b42SniklasIn case of
372cc3c8b42Sniklas.Li UDP ,
373cc3c8b42Sniklasthe
374cc3c8b42Sniklas.Li UDP
375cc3c8b42Sniklasport number to send to.
376cc3c8b42SniklasThis is optional, the
377cc3c8b42Sniklasdefault value is 500 which is the IANA-registered number for ISAKMP.
378a2067f52Sniklas.It Em Local-address
379e2220ba8SniklasThe Local IP-address to use, if we are multi-homed, or have aliases.
380c5fe6c4eSniklas.It Em Address
381cc3c8b42SniklasIf existent, the IP-address of the peer.
382c5fe6c4eSniklas.It Em Configuration
3839615e1d4SaaronThe name of the ISAKMP-configuration section to use.
3849615e1d4SaaronLook at <ISAKMP-configuration> below.
38535ff0956ShoIf unspecified, defaults to "Default-phase-1-configuration".
386c5fe6c4eSniklas.It Em Authentication
387cc3c8b42SniklasIf existent, authentication data for this specific peer.
3889615e1d4SaaronIn the case of preshared key, this is the key value itself.
3896a8478f3Sniklas.It Em ID
3906a8478f3SniklasIf existent, the name of the section that describes the
3914aac73a4Saaronlocal client ID that we should present to our peer.
3924aac73a4SaaronIf not present, it
3936a8478f3Sniklasdefaults to the address of the local interface we are sending packets
3944aac73a4Saaronover to the remote daemon.
3954aac73a4SaaronLook at <Phase1-ID> below.
396a2067f52Sniklas.It Em Remote-ID
397a2067f52SniklasIf existent, the name of the section that describes the remote client
398a2067f52SniklasID we expect the remote daemon to send us.
399a2067f52SniklasIf not present, it defaults to the address of the remote daemon.
400a2067f52SniklasLook at <Phase1-ID> below.
4012ddc24cbSniklas.It Em Flags
4022ddc24cbSniklasA comma-separated list of flags controlling the further
4039615e1d4Saaronhandling of the ISAKMP SA.
4049615e1d4SaaronCurrently there are no specific ISAKMP SA flags defined.
405c5fe6c4eSniklas.El
4066a8478f3Sniklas.It Em <Phase1-ID>
4076a8478f3Sniklas.Bl -tag -width 12n
4086a8478f3Sniklas.It Em ID-type
409d8ca7c44ShoThe ID type as given by the RFC specifications.
41035ff0956ShoFor phase 1 this is currently
4116a8478f3Sniklas.Li IPV4_ADDR ,
4126a8478f3Sniklas.Li IPV4_ADDR_SUBNET ,
413d8ca7c44Sho.Li IPV6_ADDR ,
414d8ca7c44Sho.Li IPV6_ADDR_SUBNET ,
4156a8478f3Sniklas.Li FQDN ,
416d8ca7c44Sho.Li USER_FQDN
4176a8478f3Sniklasor
4185bc978dfSangelos.Li KEY_ID .
4196a8478f3Sniklas.It Em Address
4206a8478f3SniklasIf the ID-type is
421d8ca7c44Sho.Li IPV4_ADDR
422d8ca7c44Shoor
423d8ca7c44Sho.Li IPV6_ADDR ,
4246a8478f3Sniklasthis tag should exist and be an IP-address.
4256a8478f3Sniklas.It Em Network
4266a8478f3SniklasIf the ID-type is
4276a8478f3Sniklas.Li IPV4_ADDR_SUBNET
428d8ca7c44Shoor
429d8ca7c44Sho.Li IPV6_ADDR_SUBNET
4306a8478f3Sniklasthis tag should exist and
4316a8478f3Sniklasbe a network address.
4326a8478f3Sniklas.It Em Netmask
4336a8478f3SniklasIf the ID-type is
4346a8478f3Sniklas.Li IPV4_ADDR_SUBNET
435d8ca7c44Shoor
436d8ca7c44Sho.Li IPV6_ADDR_SUBNET
4376a8478f3Sniklasthis tag should exist and
4386a8478f3Sniklasbe a network subnet mask.
4396a8478f3Sniklas.It Em Name
4406a8478f3SniklasIf the ID-type is
4415bc978dfSangelos.Li FQDN ,
442d8ca7c44Sho.Li USER_FQDN
4435bc978dfSangelosor
4445bc978dfSangelos.Li KEY_ID ,
4455bc978dfSangelosthis tag should exist and contain a domain name, user@domain, or
4465bc978dfSangelosother identifying string respectively.
4473f167ca4Sangelos.Pp
4483f167ca4SangelosIn the case of
4493f167ca4Sangelos.Li KEY_ID ,
4503f167ca4Sangelosnote that the IKE protocol allows any octet sequence to be sent or
4513f167ca4Sangelosreceived under this payload, potentially including non-printable
4523f167ca4Sangelosones.
4531215c700Sjmc.Xr isakmpd 8
4543f167ca4Sangeloscan only transmit printable
4553f167ca4Sangelos.Li KEY_ID
4563f167ca4Sangelospayloads, but can receive and process arbitrary
4573f167ca4Sangelos.Li KEY_ID
4583f167ca4Sangelospayloads.
4593f167ca4SangelosThis effectively means that non-printable
4603f167ca4Sangelos.Li KEY_ID
4613f167ca4Sangelosremote identities cannot be verified through this means, although it
4623f167ca4Sangelosis still possible to do so through
4633f167ca4Sangelos.Xr isakmpd.policy 5 .
4646a8478f3Sniklas.El
465c5fe6c4eSniklas.It Em <ISAKMP-configuration>
466c5fe6c4eSniklas.Bl -tag -width 12n
467c5fe6c4eSniklas.It Em DOI
4689615e1d4SaaronThe domain of interpretation as given by the RFCs.
4699615e1d4SaaronNormally
470c5fe6c4eSniklas.Li IPSEC .
471b57b191eSniklasIf unspecified, defaults to
472b57b191eSniklas.Li IPSEC .
473c5fe6c4eSniklas.It Em EXCHANGE_TYPE
4749615e1d4SaaronThe exchange type as given by the RFCs.
4759615e1d4SaaronFor main mode this is
4769f078bd8Sniklas.Li ID_PROT
4779f078bd8Sniklasand for aggressive mode it is
4789f078bd8Sniklas.Li AGGRESSIVE .
479c5fe6c4eSniklas.It Em Transforms
480c5fe6c4eSniklasA list of proposed transforms to use for protecting the
4819615e1d4SaaronISAKMP traffic.
4829615e1d4SaaronThese are actually names for sections
4839615e1d4Saaronfurther describing the transforms.
4849615e1d4SaaronLook at <ISAKMP-transform> below.
485c5fe6c4eSniklas.El
486c5fe6c4eSniklas.It Em <ISAKMP-transform>
487c5fe6c4eSniklas.Bl -tag -width 12n
488c5fe6c4eSniklas.It Em ENCRYPTION_ALGORITHM
489850f7173SniklasThe encryption algorithm as the RFCs name it, or ANY to denote that any
490850f7173Sniklasencryption algorithm proposed will be accepted.
491c5fe6c4eSniklas.It Em KEY_LENGTH
492c5fe6c4eSniklasFor encryption algorithms with variable key length, this is
4939615e1d4Saaronwhere the offered/accepted keylengths are described.
4949615e1d4SaaronThe value is of the offer-accept kind described above.
495c5fe6c4eSniklas.It Em HASH_ALGORITHM
496850f7173SniklasThe hash algorithm as the RFCs name it, or ANY.
497c5fe6c4eSniklas.It Em AUTHENTICATION_METHOD
498850f7173SniklasThe authentication method as the RFCs name it, or ANY.
499c5fe6c4eSniklas.It Em GROUP_DESCRIPTION
5009615e1d4SaaronThe group used for Diffie-Hellman exponentiations, or ANY.
50144143af3SderaadtThe names are symbolic, like
502c5fe6c4eSniklas.Li MODP_768 , MODP_1024 , EC_155
503c5fe6c4eSniklasand
504c5fe6c4eSniklas.Li EC_185 .
505850f7173Sniklas.It Em PRF
506850f7173SniklasThe algorithm to use for the keyed pseudo-random function (used for key
50735ff0956Shoderivation and authentication in phase 1), or ANY.
508c5fe6c4eSniklas.It Em Life
5094aac73a4SaaronA list of lifetime descriptions, or ANY.
5104aac73a4SaaronIn the former case, each
511850f7173Sniklaselement is in itself a name of the section that defines the lifetime.
5124aac73a4SaaronLook at <Lifetime> below.
5134aac73a4SaaronIf it is set to ANY, then any type of
514850f7173Sniklasproposed lifetime type and value will be accepted.
515c5fe6c4eSniklas.El
516c5fe6c4eSniklas.It Em <Lifetime>
517c5fe6c4eSniklas.Bl -tag -width 12n
518c5fe6c4eSniklas.It Em LIFE_TYPE
519c5fe6c4eSniklas.Li SECONDS
520c5fe6c4eSniklasor
521e55ca143Sniklas.Li KILOBYTES
5224aac73a4Saarondepending on the type of the duration.
5234aac73a4SaaronNotice that this field may NOT be set to ANY.
524c5fe6c4eSniklas.It Em LIFE_DURATION
5254aac73a4SaaronAn offer/accept kind of value, see above.
5264aac73a4SaaronCan also be set to ANY.
527c5fe6c4eSniklas.El
52861d575f0Sangelos.It Em <IPsec-connection>
529c5fe6c4eSniklas.Bl -tag -width 12n
530c5fe6c4eSniklas.It Em Phase
531c5fe6c4eSniklasThe constant
532c5fe6c4eSniklas.Li 2 ,
53361d575f0Sangelosas ISAKMP-peers and IPsec-connections
534c5fe6c4eSniklasreally are handled by the same code inside isakmpd.
535c5fe6c4eSniklas.It Em ISAKMP-peer
536c5fe6c4eSniklasThe name of the ISAKMP-peer which to talk to in order to
5379615e1d4Saaronset up this connection.
5389615e1d4SaaronThe value is the name of an <ISAKMP-peer> section.
5399615e1d4SaaronSee above.
540c5fe6c4eSniklas.It Em Configuration
54161d575f0SangelosThe name of the IPsec-configuration section to use.
54261d575f0SangelosLook at <IPsec-configuration> below.
543c5fe6c4eSniklas.It Em Local-ID
544c5fe6c4eSniklasIf existent, the name of the section that describes the
545c5fe6c4eSniklasoptional local client ID that we should present to our peer.
54680baf197SniklasIt is also used when we act as responders to find out what
54761d575f0Sangelos<IPsec-connection> we are dealing with.
54861d575f0SangelosLook at <IPsec-ID> below.
549c5fe6c4eSniklas.It Em Remote-ID
550c5fe6c4eSniklasIf existent, the name of the section that describes the
551c5fe6c4eSniklasoptional remote client ID that we should present to our peer.
55280baf197SniklasIt is also used when we act as responders to find out what
55361d575f0Sangelos<IPsec-connection> we are dealing with.
55461d575f0SangelosLook at <IPsec-ID> below.
55513a99464Sniklas.It Em Flags
55613a99464SniklasA comma-separated list of flags controlling the further
55761d575f0Sangeloshandling of the IPsec SA.
5589615e1d4SaaronCurrently only one flag is defined:
55980baf197Sniklas.Bl -tag -width 12n
56080baf197Sniklas.It Em Active-only
56161d575f0SangelosIf this flag is given and this <IPsec-connection> is part of the phase 2
56280baf197Sniklasconnections we automatically keep up, it will not automatically be used for
56380baf197Sniklasaccepting connections from the peer.
56480baf197Sniklas.El
565c5fe6c4eSniklas.El
56661d575f0Sangelos.It Em <IPsec-configuration>
567c5fe6c4eSniklas.Bl -tag -width 12n
568c5fe6c4eSniklas.It Em DOI
5699615e1d4SaaronThe domain of interpretation as given by the RFCs.
5709615e1d4SaaronNormally
571c5fe6c4eSniklas.Li IPSEC .
572b57b191eSniklasIf unspecified, defaults to
573b57b191eSniklas.Li IPSEC .
574c5fe6c4eSniklas.It Em EXCHANGE_TYPE
5759615e1d4SaaronThe exchange type as given by the RFCs.
5769615e1d4SaaronFor quick mode this is
577c5fe6c4eSniklas.Li QUICK_MODE .
578c5fe6c4eSniklas.It Em Suites
5793b2a0cf1SaaronA list of protection suites (bundles of protocols) usable for
5809615e1d4Saaronprotecting the IP traffic.
58161d575f0SangelosEach of the list elements is a name of an <IPsec-suite> section.
5829615e1d4SaaronSee below.
583c5fe6c4eSniklas.El
58461d575f0Sangelos.It Em <IPsec-suite>
585c5fe6c4eSniklas.Bl -tag -width 12n
586c5fe6c4eSniklas.It Em Protocols
587c5fe6c4eSniklasA list of the protocols included in this protection suite.
58861d575f0SangelosEach of the list elements is a name of an <IPsec-protocol>
5899615e1d4Saaronsection.
5909615e1d4SaaronSee below.
591c5fe6c4eSniklas.El
59261d575f0Sangelos.It Em <IPsec-protocol>
593c5fe6c4eSniklas.Bl -tag -width 12n
594c5fe6c4eSniklas.It Em PROTOCOL_ID
5959615e1d4SaaronThe protocol as given by the RFCs.
5969615e1d4SaaronAcceptable values today are
597c5fe6c4eSniklas.Li IPSEC_AH
598c5fe6c4eSniklasand
599c5fe6c4eSniklas.Li IPSEC_ESP .
600c5fe6c4eSniklas.It Em Transforms
6013b2a0cf1SaaronA list of transforms usable for implementing the protocol.
60261d575f0SangelosEach of the list elements is a name of an <IPsec-transform>
6039615e1d4Saaronsection.
6049615e1d4SaaronSee below.
605c5fe6c4eSniklas.It Em ReplayWindow
6069615e1d4SaaronThe size of the window used for replay protection.
6079615e1d4SaaronThis is normally left alone.
6089615e1d4SaaronLook at the
609c5fe6c4eSniklas.Nm ESP
610c5fe6c4eSniklasand
611c5fe6c4eSniklas.Nm AH
612c5fe6c4eSniklasRFCs for a better description.
613c5fe6c4eSniklas.El
61461d575f0Sangelos.It Em <IPsec-transform>
615c5fe6c4eSniklas.Bl -tag -width 12n
616c5fe6c4eSniklas.It Em TRANSFORM_ID
617c5fe6c4eSniklasThe transform ID as given by the RFCs.
618c5fe6c4eSniklas.It Em ENCAPSULATION_MODE
6199615e1d4SaaronThe encapsulation mode as given by the RFCs.
6209615e1d4SaaronThis means TRANSPORT or TUNNEL.
621c5fe6c4eSniklas.It Em AUTHENTICATION_ALGORITHM
622c5fe6c4eSniklasThe optional authentication algorithm in the case of this
623c5fe6c4eSniklasbeing an ESP transform.
624c5fe6c4eSniklas.It Em GROUP_DESCRIPTION
625c5fe6c4eSniklasAn optional (provides PFS if present) Diffie-Hellman group
6269615e1d4Saarondescription.
6279615e1d4SaaronThe values are the same as GROUP_DESCRIPTION's
628c5fe6c4eSniklasin <ISAKMP-transform> sections shown above.
629c5fe6c4eSniklas.It Em Life
630c5fe6c4eSniklasList of lifetimes, each element is a <Lifetime> section name.
631c5fe6c4eSniklas.El
63261d575f0Sangelos.It Em <IPsec-ID>
633c5fe6c4eSniklas.Bl -tag -width 12n
634c5fe6c4eSniklas.It Em ID-type
6359615e1d4SaaronThe ID type as given by the RFCs.
63661d575f0SangelosFor IPsec this is currently
637d8ca7c44Sho.Li IPV4_ADDR ,
638d8ca7c44Sho.Li IPV6_ADDR ,
639d8ca7c44Sho.Li IPV4_ADDR_SUBNET
640c5fe6c4eSniklasor
641d8ca7c44Sho.Li IPV6_ADDR_SUBNET .
642c5fe6c4eSniklas.It Em Address
643c5fe6c4eSniklasIf the ID-type is
644d8ca7c44Sho.Li IPV4_ADDR
645d8ca7c44Shoor
646d8ca7c44Sho.Li IPV6_ADDR
647e3283cbfSmcbridethis tag should exist and be an IP-address, an interface name, or the
648e3283cbfSmcbride.Em default
649e3283cbfSmcbridekeyword.
650e3283cbfSmcbrideIf an interface is used, the first address of the appropriate
651e3283cbfSmcbridefamily will be used.
652e3283cbfSmcbrideThe
653e3283cbfSmcbride.Em default
654e3283cbfSmcbridekeyword uses the interface associated with the default route.
655e3283cbfSmcbrideIn the case of IPv6 link-local addresses will be skipped if
656e3283cbfSmcbrideaddresses which are not link-local exist.
657e3283cbfSmcbrideIf the address on the interface changes
658e3283cbfSmcbride.Em isakmpd
659e3283cbfSmcbridewill not track the change.
660e3283cbfSmcbrideThe configuration must be reloaded to learn the new address.
661c5fe6c4eSniklas.It Em Network
662c5fe6c4eSniklasIf the ID-type is
663c5fe6c4eSniklas.Li IPV4_ADDR_SUBNET
664d8ca7c44Shoor
665d8ca7c44Sho.Li IPV6_ADDR_SUBNET
666e3283cbfSmcbridethis tag should exist and be a network address, an interface, or the
667e3283cbfSmcbride.Em default
668e3283cbfSmcbridekeyword.
669e3283cbfSmcbrideWhen an interface is specified the network is selected as with the
670e3283cbfSmcbride.Em Address
671e3283cbfSmcbridetag.
672c5fe6c4eSniklas.It Em Netmask
673c5fe6c4eSniklasIf the ID-type is
674c5fe6c4eSniklas.Li IPV4_ADDR_SUBNET
675d8ca7c44Shoor
676d8ca7c44Sho.Li IPV6_ADDR_SUBNET
677c5fe6c4eSniklasthis tag should exist and
678e3283cbfSmcbridebe a network subnet mask or an interface.
679e3283cbfSmcbrideWhen an interface is specified the netmask is the mask associated with the
680e3283cbfSmcbride.Em Network .
681e3283cbfSmcbrideThe
682e3283cbfSmcbride.Em default
683e3283cbfSmcbridekeyword uses the interface associated with the default route.
6840378d1f2Sniklas.It Em Protocol
6850378d1f2SniklasIf the ID-type is
686d8ca7c44Sho.Li IPV4_ADDR ,
6870378d1f2Sniklas.Li IPV4_ADDR_SUBNET ,
688d8ca7c44Sho.Li IPV6_ADDR
689d8ca7c44Shoor
690d8ca7c44Sho.Li IPV6_ADDR_SUBNET
6910378d1f2Sniklasthis tag indicates what transport protocol should be transmitted over
6920378d1f2Sniklasthe SA.
6930378d1f2SniklasIf left unspecified, all transport protocols between the two address
6940378d1f2Sniklas(ranges) will be sent (or permitted) over that SA.
6950378d1f2Sniklas.It Em Port
6960378d1f2SniklasIf the ID-type is
697d8ca7c44Sho.Li IPV4_ADDR ,
6980378d1f2Sniklas.Li IPV4_ADDR_SUBNET ,
699d8ca7c44Sho.Li IPV6_ADDR
700d8ca7c44Shoor
701d8ca7c44Sho.Li IPV6_ADDR_SUBNET
7020378d1f2Sniklasthis tag indicates what source or destination port is allowed to be
7030378d1f2Sniklastransported over the SA (depending on whether this is a local or
7040378d1f2Sniklasremote ID).
7050378d1f2SniklasIf left unspecified, all ports of the given transport protocol
7060378d1f2Sniklaswill be transmitted (or permitted) over the SA.
7070378d1f2SniklasThe Protocol tag must be specified in conjunction with this tag.
708c5fe6c4eSniklas.El
709c5fe6c4eSniklas.El
7104ca71560Sho.Ss Other sections
7114ca71560Sho.Bl -hang -width 12n
7124ca71560Sho.It Em <IKECFG-ID>
7134eb3dd62SjmcParameters to use with IKE mode-config.
7144eb3dd62SjmcOne ID per peer.
7154ca71560Sho.Pp
7164ca71560ShoAn IKECFG-ID is written as [<ID-type>/<name>].
7174ca71560ShoThe following ID types are supported:
7184ca71560Sho.Bl -tag -width 12n
7194ca71560Sho.It IPv4
7204ca71560Sho[ipv4/A.B.C.D]
7214ca71560Sho.It IPv6
7224ca71560Sho[ipv6/abcd:abcd::ab:cd]
7234ca71560Sho.It FQDN
7244ca71560Sho[fqdn/foo.bar.org]
7254ca71560Sho.It UFQDN
7264ca71560Sho[ufqdn/user@foo.bar.org]
7274ca71560Sho.It ASN1_DN
7284ca71560Sho[asn1_dn//C=aa/O=cc/...] (Note the double slashes as the DN itself
7294eb3dd62Sjmcstarts with a
7304eb3dd62Sjmc.Sq / . )
7314ca71560Sho.El
7324ca71560Sho.Pp
7334ca71560ShoEach section specifies what configuration values to return to the peer
7344eb3dd62Sjmcrequesting IKE mode-config.
7354eb3dd62SjmcCurrently supported values are:
7364ca71560Sho.Bl -tag -width 12n
7374ca71560Sho.It Em Address
7384ca71560ShoThe peer's network address.
7394ca71560Sho.It Em Netmask
7404ca71560ShoThe peer's netmask.
7414ca71560Sho.It Em Nameserver
7424ca71560ShoThe IP address of a DNS nameserver.
7434ca71560Sho.It Em WINS-server
7444ca71560ShoThe IP address of a WINS server.
7454ca71560Sho.El
746106cbd59Smarkus.It Em <Initiator-ID>
747106cbd59Smarkus.Pp
748106cbd59SmarkusDuring phase 1 negotiation
749106cbd59Smarkus.Nm isakmpd
750106cbd59Smarkuslooks for a pre-shared key in the <ISAKMP-peer> section.
751106cbd59SmarkusIf no Authentication data is specified in that section, and
752106cbd59Smarkus.Nm isakmpd
753106cbd59Smarkusis not the initiator, it looks for Authentication data in a section named after
754106cbd59Smarkusthe initiator's phase 1 ID.
755106cbd59SmarkusThis allows mobile users with dynamic IP addresses
756106cbd59Smarkusto have different shared secrets.
757106cbd59Smarkus.Pp
758106cbd59SmarkusThis only works for aggressive mode because in main mode the remote
759106cbd59Smarkusinitiator ID would not yet be known.
760830c32f9ShshoexerNote, however, that use of aggressive mode is discouraged.
761830c32f9ShshoexerSee
762830c32f9Shshoexer.Sx CAVEATS
763830c32f9Shshoexersection below.
764106cbd59Smarkus.Pp
765106cbd59SmarkusThe name of the <Initiator-ID> section depends on the ID type sent by
766106cbd59Smarkusthe initiator.
767106cbd59SmarkusCurrently this can be:
768106cbd59Smarkus.Bl -tag -width 12n
769106cbd59Smarkus.It IPv4
770106cbd59Smarkus[A.B.C.D]
771106cbd59Smarkus.It IPv6
772106cbd59Smarkus[abcd:abcd::ab:cd]
773106cbd59Smarkus.It FQDN
774106cbd59Smarkus[foo.bar.org]
775106cbd59Smarkus.It UFQDN
776106cbd59Smarkus[user@foo.bar.org]
777106cbd59Smarkus.El
7784ca71560Sho.El
7792b65e200Sjmc.Sh FILES
7802b65e200Sjmc.Bl -tag -width /etc/isakmpd/isakmpd.conf
7812b65e200Sjmc.It Pa /etc/isakmpd/isakmpd.conf
7822b65e200SjmcThe default
7832b65e200Sjmc.Nm isakmpd
7842b65e200Sjmcconfiguration file.
7852b65e200Sjmc.It Pa /usr/share/ipsec/isakmpd/
7862b65e200SjmcA directory containing some sample
7872b65e200Sjmc.Nm isakmpd
7882b65e200Sjmcconfiguration files.
7892b65e200Sjmc.El
79000b2ba71Saaron.Sh EXAMPLES
7912040585eSniklasAn example of a configuration file:
7922040585eSniklas.Bd -literal
7932040585eSniklas# A configuration sample for the isakmpd ISAKMP/Oakley (aka IKE) daemon.
7942040585eSniklas
7952040585eSniklas[General]
796c5fe6c4eSniklasListen-on=		10.1.0.2
7972040585eSniklas
798c5fe6c4eSniklas# Incoming phase 1 negotiations are multiplexed on the source IP address
7992b81057dSniklas[Phase 1]
800c5fe6c4eSniklas10.1.0.1=		ISAKMP-peer-west
8012b81057dSniklas
802c5fe6c4eSniklas# These connections are walked over after config file parsing and told
803c5fe6c4eSniklas# to the application layer so that it will inform us when traffic wants to
804*52250141Smoritz# pass over them.  This means we can do on-demand keying.
805c5fe6c4eSniklas[Phase 2]
806c5fe6c4eSniklasConnections=		IPsec-east-west
807c5fe6c4eSniklas
808cc3c8b42Sniklas# Default values are commented out.
809c5fe6c4eSniklas[ISAKMP-peer-west]
8102b81057dSniklasPhase=			1
811cc3c8b42Sniklas#Transport=		udp
812f6dd85a7SniklasLocal-address=		10.1.0.2
8132b81057dSniklasAddress=		10.1.0.1
8142b81057dSniklas#Port=			isakmp
8152b81057dSniklas#Port=			500
81635ff0956Sho#Configuration=		Default-phase-1-configuration
8172b81057dSniklasAuthentication=		mekmitasdigoat
818cc3c8b42Sniklas#Flags=
8192b81057dSniklas
820c5fe6c4eSniklas[IPsec-east-west]
8212b81057dSniklasPhase=			2
822c5fe6c4eSniklasISAKMP-peer=		ISAKMP-peer-west
8232b81057dSniklasConfiguration=		Default-quick-mode
824c5fe6c4eSniklasLocal-ID=		Net-east
825c5fe6c4eSniklasRemote-ID=		Net-west
826cc3c8b42Sniklas#Flags=
8272b81057dSniklas
828c5fe6c4eSniklas[Net-west]
8292b81057dSniklasID-type=		IPV4_ADDR_SUBNET
8302b81057dSniklasNetwork=		192.168.1.0
8312b81057dSniklasNetmask=		255.255.255.0
8322b81057dSniklas
833c5fe6c4eSniklas[Net-east]
8342b81057dSniklasID-type=		IPV4_ADDR_SUBNET
8352b81057dSniklasNetwork=		192.168.2.0
8362b81057dSniklasNetmask=		255.255.255.0
8372b81057dSniklas
83852e712aeSniklas# Quick mode descriptions
83952e712aeSniklas
84052e712aeSniklas[Default-quick-mode]
84152e712aeSniklasEXCHANGE_TYPE=		QUICK_MODE
8421a87c1a3ShoSuites=			QM-ESP-3DES-SHA-PFS-SUITE,QM-ESP-AES-SHA-PFS-SUITE
84352e712aeSniklas
8444ca71560Sho# Data for an IKE mode-config peer
8454ca71560Sho[asn1_dn//C=SE/L=SomeCity/O=SomeCompany/CN=SomePeer.company.com]
8464ca71560ShoAddress=		192.168.1.123
8474ca71560ShoNetmask=		255.255.255.0
8484ca71560ShoNameserver=		192.168.1.10
8494ca71560ShoWINS-server=		192.168.1.11
8504ca71560Sho
851106cbd59Smarkus# pre-shared key based on initiator's phase 1 ID
852106cbd59Smarkus[foo.bar.org]
853106cbd59SmarkusAuthentication=		mekmitasdigoat
854106cbd59Smarkus
85552e712aeSniklas#
85652e712aeSniklas# #####################################################################
85744143af3Sderaadt# All configuration data below this point is not required as the example
85852e712aeSniklas# uses the predefined Main Mode transform and Quick Mode suite names.
85952e712aeSniklas# It is included here for completeness.  Note the default values for the
86052e712aeSniklas# [General] and [X509-certificates] sections just below.
86152e712aeSniklas# #####################################################################
86252e712aeSniklas#
86352e712aeSniklas
86452e712aeSniklas[General]
865447a9f3aShoPolicy-file=		/etc/isakmpd/isakmpd.policy
86652e712aeSniklasRetransmits=		3
86752e712aeSniklasExchange-max-time=	120
86852e712aeSniklas
869b57b191eSniklas# KeyNote credential storage
870b57b191eSniklas[KeyNote]
871b57b191eSniklasCredential-directory=	/etc/isakmpd/keynote/
872b57b191eSniklas
873fb1921ccSniklas# Certificates stored in PEM format
874fb1921ccSniklas[X509-certificates]
875fb1921ccSniklasCA-directory=           /etc/isakmpd/ca/
876fb1921ccSniklasCert-directory=         /etc/isakmpd/certs/
8779dbe9fb4ShoCRL-directory=		/etc/isakmpd/crls/
878954b1b31SniklasPrivate-key=		/etc/isakmpd/private/local.key
879fb1921ccSniklas
880419caefeSho# Default phase 1 description (Main Mode)
881419caefeSho
88235ff0956Sho[Default-phase-1-configuration]
883419caefeShoEXCHANGE_TYPE=		ID_PROT
884419caefeShoTransforms=		3DES-SHA
885419caefeSho
8862b81057dSniklas# Main mode transforms
8872b81057dSniklas######################
8882b81057dSniklas
8892b81057dSniklas# DES
8902040585eSniklas
8912040585eSniklas[DES-MD5]
8922040585eSniklasENCRYPTION_ALGORITHM=	DES_CBC
8932040585eSniklasHASH_ALGORITHM=		MD5
8942040585eSniklasAUTHENTICATION_METHOD=	PRE_SHARED
8952039fcadShoGROUP_DESCRIPTION=	MODP_1024
89660f440ccShoLife=			Default-phase-1-lifetime
8972040585eSniklas
8982b81057dSniklas[DES-SHA]
8992b81057dSniklasENCRYPTION_ALGORITHM=	DES_CBC
9002b81057dSniklasHASH_ALGORITHM=		SHA
9012b81057dSniklasAUTHENTICATION_METHOD=	PRE_SHARED
90260f440ccShoGROUP_DESCRIPTION=	MODP_1024
90360f440ccShoLife=			Default-phase-1-lifetime
9042b81057dSniklas
9052b81057dSniklas# 3DES
9062b81057dSniklas
9072b81057dSniklas[3DES-SHA]
9082b81057dSniklasENCRYPTION_ALGORITHM=	3DES_CBC
9092040585eSniklasHASH_ALGORITHM=		SHA
9102040585eSniklasAUTHENTICATION_METHOD=	PRE_SHARED
9112040585eSniklasGROUP_DESCRIPTION=	MODP_1024
91260f440ccShoLife=			Default-phase-1-lifetime
9132b81057dSniklas
9142b81057dSniklas# Blowfish
9152b81057dSniklas
91660f440ccSho[BLF-SHA]
9172b81057dSniklasENCRYPTION_ALGORITHM=	BLOWFISH_CBC
9182b81057dSniklasKEY_LENGTH=		128,96:192
9192b81057dSniklasHASH_ALGORITHM=		SHA
9202b81057dSniklasAUTHENTICATION_METHOD=	PRE_SHARED
9212b81057dSniklasGROUP_DESCRIPTION=	MODP_1024
92260f440ccShoLife=			Default-phase-1-lifetime
9232040585eSniklas
92460f440ccSho# Blowfish, using DH group 4 (non-default)
9252040585eSniklas[BLF-SHA-EC185]
926d70ca5f7SniklasENCRYPTION_ALGORITHM=	BLOWFISH_CBC
9272b81057dSniklasKEY_LENGTH=		128,96:192
9282040585eSniklasHASH_ALGORITHM=		SHA
9292040585eSniklasAUTHENTICATION_METHOD=	PRE_SHARED
9302040585eSniklasGROUP_DESCRIPTION=	EC2N_185
93160f440ccShoLife=			Default-phase-1-lifetime
9322040585eSniklas
9332b81057dSniklas# Quick mode protection suites
9342b81057dSniklas##############################
9352b81057dSniklas
9362b81057dSniklas# DES
9372040585eSniklas
938d70ca5f7Sniklas[QM-ESP-DES-SUITE]
939d70ca5f7SniklasProtocols=		QM-ESP-DES
940d70ca5f7Sniklas
9412b81057dSniklas[QM-ESP-DES-PFS-SUITE]
9422b81057dSniklasProtocols=		QM-ESP-DES-PFS
9432b81057dSniklas
9442040585eSniklas[QM-ESP-DES-MD5-SUITE]
9452040585eSniklasProtocols=		QM-ESP-DES-MD5
9462040585eSniklas
9472b81057dSniklas[QM-ESP-DES-MD5-PFS-SUITE]
9482b81057dSniklasProtocols=		QM-ESP-DES-MD5-PFS
9492040585eSniklas
9502b81057dSniklas[QM-ESP-DES-SHA-SUITE]
9512b81057dSniklasProtocols=		QM-ESP-DES-SHA
9522040585eSniklas
9532b81057dSniklas[QM-ESP-DES-SHA-PFS-SUITE]
9542b81057dSniklasProtocols=		QM-ESP-DES-SHA-PFS
9552040585eSniklas
9562b81057dSniklas# 3DES
9572b81057dSniklas
9582b81057dSniklas[QM-ESP-3DES-SHA-SUITE]
9592b81057dSniklasProtocols=		QM-ESP-3DES-SHA
9602b81057dSniklas
9612b81057dSniklas[QM-ESP-3DES-SHA-PFS-SUITE]
9622b81057dSniklasProtocols=		QM-ESP-3DES-SHA-PFS
9632b81057dSniklas
964bfc24386Sniklas# AES
965bfc24386Sniklas
966bfc24386Sniklas[QM-ESP-AES-SHA-SUITE]
967bfc24386SniklasProtocols=              QM-ESP-AES-SHA
968bfc24386Sniklas
96960f440ccSho[QM-ESP-AES-SHA-PFS-SUITE]
970bfc24386SniklasProtocols=              QM-ESP-AES-SHA-PFS
971bfc24386Sniklas
9722b81057dSniklas# AH
9732b81057dSniklas
9742b81057dSniklas[QM-AH-MD5-SUITE]
9752b81057dSniklasProtocols=		QM-AH-MD5
9762b81057dSniklas
9772b81057dSniklas[QM-AH-MD5-PFS-SUITE]
9782b81057dSniklasProtocols=		QM-AH-MD5-PFS
9792b81057dSniklas
98060f440ccSho# AH + ESP (non-default)
9812040585eSniklas
9822040585eSniklas[QM-AH-MD5-ESP-DES-SUITE]
9832040585eSniklasProtocols=		QM-AH-MD5,QM-ESP-DES
9842040585eSniklas
9852b81057dSniklas[QM-AH-MD5-ESP-DES-MD5-SUITE]
9862b81057dSniklasProtocols=		QM-AH-MD5,QM-ESP-DES-MD5
9872040585eSniklas
9882b81057dSniklas[QM-ESP-DES-MD5-AH-MD5-SUITE]
9892b81057dSniklasProtocols=		QM-ESP-DES-MD5,QM-AH-MD5
9902b81057dSniklas
9912b81057dSniklas# Quick mode protocols
9922b81057dSniklas
9932b81057dSniklas# DES
9942040585eSniklas
9952040585eSniklas[QM-ESP-DES]
9962040585eSniklasPROTOCOL_ID=		IPSEC_ESP
9972040585eSniklasTransforms=		QM-ESP-DES-XF
9982040585eSniklas
9992b81057dSniklas[QM-ESP-DES-MD5]
10002b81057dSniklasPROTOCOL_ID=		IPSEC_ESP
10012b81057dSniklasTransforms=		QM-ESP-DES-MD5-XF
10022b81057dSniklas
10032b81057dSniklas[QM-ESP-DES-MD5-PFS]
10042b81057dSniklasPROTOCOL_ID=		IPSEC_ESP
10052b81057dSniklasTransforms=		QM-ESP-DES-MD5-PFS-XF
10062b81057dSniklas
10072b81057dSniklas[QM-ESP-DES-SHA]
10082b81057dSniklasPROTOCOL_ID=		IPSEC_ESP
10092b81057dSniklasTransforms=		QM-ESP-DES-SHA-XF
10102b81057dSniklas
10112b81057dSniklas# 3DES
10122b81057dSniklas
10132b81057dSniklas[QM-ESP-3DES-SHA]
10142b81057dSniklasPROTOCOL_ID=		IPSEC_ESP
10152b81057dSniklasTransforms=		QM-ESP-3DES-SHA-XF
10162b81057dSniklas
10172b81057dSniklas[QM-ESP-3DES-SHA-PFS]
10182b81057dSniklasPROTOCOL_ID=		IPSEC_ESP
10192b81057dSniklasTransforms=		QM-ESP-3DES-SHA-PFS-XF
10202b81057dSniklas
10212b81057dSniklas[QM-ESP-3DES-SHA-TRP]
10222b81057dSniklasPROTOCOL_ID=		IPSEC_ESP
10232b81057dSniklasTransforms=		QM-ESP-3DES-SHA-TRP-XF
10242b81057dSniklas
1025bfc24386Sniklas# AES
1026bfc24386Sniklas
1027bfc24386Sniklas[QM-ESP-AES-SHA]
1028bfc24386SniklasPROTOCOL_ID=		IPSEC_ESP
1029bfc24386SniklasTransforms=		QM-ESP-AES-SHA-XF
1030bfc24386Sniklas
1031bfc24386Sniklas[QM-ESP-AES-SHA-PFS]
1032bfc24386SniklasPROTOCOL_ID=		IPSEC_ESP
1033bfc24386SniklasTransforms=		QM-ESP-AES-SHA-PFS-XF
1034bfc24386Sniklas
1035bfc24386Sniklas[QM-ESP-AES-SHA-TRP]
1036bfc24386SniklasPROTOCOL_ID=		IPSEC_ESP
1037bfc24386SniklasTransforms=		QM-ESP-AES-SHA-TRP-XF
1038bfc24386Sniklas
10392b81057dSniklas# AH MD5
10402b81057dSniklas
10412b81057dSniklas[QM-AH-MD5]
10422b81057dSniklasPROTOCOL_ID=		IPSEC_AH
10432b81057dSniklasTransforms=		QM-AH-MD5-XF
10442b81057dSniklas
10452b81057dSniklas[QM-AH-MD5-PFS]
10462b81057dSniklasPROTOCOL_ID=		IPSEC_AH
10472b81057dSniklasTransforms=		QM-AH-MD5-PFS-XF
10482b81057dSniklas
10492b81057dSniklas# Quick mode transforms
10502b81057dSniklas
10512b81057dSniklas# ESP DES+MD5
10522b81057dSniklas
10532040585eSniklas[QM-ESP-DES-XF]
10542040585eSniklasTRANSFORM_ID=		DES
10552040585eSniklasENCAPSULATION_MODE=	TUNNEL
105660f440ccShoLife=			Default-phase-2-lifetime
10572040585eSniklas
10582b81057dSniklas[QM-ESP-DES-MD5-XF]
10592b81057dSniklasTRANSFORM_ID=		DES
10602b81057dSniklasENCAPSULATION_MODE=	TUNNEL
10612b81057dSniklasAUTHENTICATION_ALGORITHM=	HMAC_MD5
106260f440ccShoLife=			Default-phase-2-lifetime
10632b81057dSniklas
10642b81057dSniklas[QM-ESP-DES-MD5-PFS-XF]
10652b81057dSniklasTRANSFORM_ID=		DES
10662b81057dSniklasENCAPSULATION_MODE=	TUNNEL
10672039fcadShoGROUP_DESCRIPTION=	MODP_1024
10682b81057dSniklasAUTHENTICATION_ALGORITHM=	HMAC_MD5
106960f440ccShoLife=			Default-phase-2-lifetime
10702b81057dSniklas
10712b81057dSniklas[QM-ESP-DES-SHA-XF]
10722b81057dSniklasTRANSFORM_ID=		DES
10732b81057dSniklasENCAPSULATION_MODE=	TUNNEL
10742b81057dSniklasAUTHENTICATION_ALGORITHM=	HMAC_SHA
107560f440ccShoLife=			Default-phase-2-lifetime
10762b81057dSniklas
10772b81057dSniklas# 3DES
10782b81057dSniklas
10792b81057dSniklas[QM-ESP-3DES-SHA-XF]
10802b81057dSniklasTRANSFORM_ID=		3DES
10812b81057dSniklasENCAPSULATION_MODE=	TUNNEL
10822b81057dSniklasAUTHENTICATION_ALGORITHM=	HMAC_SHA
108360f440ccShoLife=			Default-phase-2-lifetime
10842b81057dSniklas
10852b81057dSniklas[QM-ESP-3DES-SHA-PFS-XF]
10862b81057dSniklasTRANSFORM_ID=		3DES
10872b81057dSniklasENCAPSULATION_MODE=	TUNNEL
10882b81057dSniklasAUTHENTICATION_ALGORITHM=	HMAC_SHA
10892b81057dSniklasGROUP_DESCRIPTION=	MODP_1024
109060f440ccShoLife=			Default-phase-2-lifetime
10912b81057dSniklas
10922b81057dSniklas[QM-ESP-3DES-SHA-TRP-XF]
10932b81057dSniklasTRANSFORM_ID=		3DES
10942b81057dSniklasENCAPSULATION_MODE=	TRANSPORT
10952b81057dSniklasAUTHENTICATION_ALGORITHM=	HMAC_SHA
109660f440ccShoLife=			Default-phase-2-lifetime
10972b81057dSniklas
1098bfc24386Sniklas# AES
1099bfc24386Sniklas
1100bfc24386Sniklas[QM-ESP-AES-SHA-XF]
1101bfc24386SniklasTRANSFORM_ID=		AES
1102bfc24386SniklasENCAPSULATION_MODE=	TUNNEL
1103bfc24386SniklasAUTHENTICATION_ALGORITHM=	HMAC_SHA
110460f440ccShoLife=			Default-phase-2-lifetime
1105bfc24386Sniklas
1106bfc24386Sniklas[QM-ESP-AES-SHA-PFS-XF]
1107bfc24386SniklasTRANSFORM_ID=		AES
1108bfc24386SniklasENCAPSULATION_MODE=	TUNNEL
1109bfc24386SniklasAUTHENTICATION_ALGORITHM=	HMAC_SHA
1110bfc24386SniklasGROUP_DESCRIPTION=	MODP_1024
111160f440ccShoLife=			Default-phase-2-lifetime
1112bfc24386Sniklas
1113bfc24386Sniklas[QM-ESP-AES-SHA-TRP-XF]
1114bfc24386SniklasTRANSFORM_ID=		AES
1115bfc24386SniklasENCAPSULATION_MODE=	TRANSPORT
1116bfc24386SniklasAUTHENTICATION_ALGORITHM=	HMAC_SHA
111760f440ccShoLife=			Default-phase-2-lifetime
1118bfc24386Sniklas
11192b81057dSniklas# AH
11202b81057dSniklas
11212b81057dSniklas[QM-AH-MD5-XF]
11222b81057dSniklasTRANSFORM_ID=		MD5
11232b81057dSniklasENCAPSULATION_MODE=	TUNNEL
11242b81057dSniklasAUTHENTICATION_ALGORITHM=	HMAC_MD5
112560f440ccShoLife=			Default-phase-2-lifetime
11262b81057dSniklas
11272b81057dSniklas[QM-AH-MD5-PFS-XF]
11282b81057dSniklasTRANSFORM_ID=		MD5
11292b81057dSniklasENCAPSULATION_MODE=	TUNNEL
11302039fcadShoGROUP_DESCRIPTION=	MODP_1024
113160f440ccShoLife=			Default-phase-2-lifetime
11322b81057dSniklas
113360f440ccSho[Sample-Life-Time]
11342b81057dSniklasLIFE_TYPE=		SECONDS
11352b81057dSniklasLIFE_DURATION=		3600,1800:7200
11362b81057dSniklas
113760f440ccSho[Sample-Life-Volume]
11382b81057dSniklasLIFE_TYPE=		KILOBYTES
11392b81057dSniklasLIFE_DURATION=		1000,768:1536
11402040585eSniklas.Ed
11412040585eSniklas.Sh SEE ALSO
1142b57b191eSniklas.Xr keynote 1 ,
1143dc89b21eSfgsch.Xr ipsec 4 ,
114430a2652aSniklas.Xr keynote 4 ,
114577725688Sniklas.Xr isakmpd.policy 5 ,
1146350bb3b8Salex.Xr isakmpd 8
1147830c32f9Shshoexer.Sh CAVEATS
1148830c32f9ShshoexerUsing aggressive mode is discouraged due to various design problems.
1149830c32f9ShshoexerIf your peer only supports aggressive mode, please consider replacing that
1150830c32f9Shshoexerpeer with a sane ISAKMP/IKE implementation.
1151830c32f9ShshoexerFor details see
1152830c32f9Shshoexer.Pa http://www.usenix.org/publications/login/1999-12/features/harmful.html .
1153d7401508Sho.Sh BUGS
1154d7401508ShoThe RFCs do not permit differing DH groups in the same proposal for
1155d7401508Shoaggressive and quick mode exchanges.
1156d7401508ShoMixing both PFS and non-PFS suites in a quick mode proposal is not possible,
1157d7401508Shoas PFS implies using a DH group.
1158