Provided by: isakmpd_20041012-10build1_amd64 bug

NAME

       isakmpd.conf — configuration file for isakmpd

DESCRIPTION

       isakmpd.conf  is  the  configuration  file  for  the isakmpd daemon managing security association and key
       management for the IPsec layer of the kernel's networking stack.

       The file is of a well known type of format called .INI style, named after the suffix used by an overrated
       windowing environment for its configuration files.  This format consists of sections, each beginning with
       a line looking like:

       [Section name]
       Between the brackets is the name of the section following this section header.   Inside  a  section  many
       tag/value pairs can be stored, each one looking like:

       Tag=Value
       If  the  value  needs  more  space than fits on a single line it's possible to continue it on the next by
       ending the first with a backslash character immediately before the newline character.   This  method  can
       extend a value for an arbitrary number of lines.

       Comments  can  be put anywhere in the file by using a hash mark (‘#’).  The comment extends to the end of
       the current line.

       Often the right-hand side values consist of other section names.  This results in a tree structure.  Some
       values are treated as a list of several scalar values.  Such lists always use a comma  character  as  the
       separator.   Some  values  are  formatted like this: X,Y:Z, which is an offer/accept syntax, where X is a
       value we offer and Y:Z is a range of accepted values, inclusive.

       To activate changes to isakmpd.conf without restarting isakmpd,  send  a  SIGHUP  signal  to  the  daemon
       process.

   Auto-generated parts of the configuration
       Some  predefined  section names are recognized by the daemon, avoiding the need to fully specify the Main
       Mode transforms and Quick Mode suites, protocols, and transforms.

       For Main Mode:
       {DES,BLF,3DES,CAST,AES}-{MD5,SHA}[-GRP{1,2,5,14}][-{DSS,RSA_SIG}]

       For Quick Mode:
       QM-{proto}[-TRP]-{cipher}[-{hash}][-PFS[-{group}]]-SUITE

         where
           {proto}  is either ESP or AH
           {cipher} is either DES, 3DES, CAST, BLF or AES
           {hash}   is either MD5, SHA, RIPEMD, SHA2-{256,384,512}
           {group}  is either GRP1, GRP2, GRP5 or GRP14

       For example, 3DES-SHA means: 3DES encryption, SHA hash, and authorization by pre-shared keys.  Similarly,
       QM-ESP-3DES-SHA-PFS-SUITE means: ESP protocol,  3DES  encryption,  SHA  hash,  and  use  Perfect  Forward
       Secrecy.

       Unless  explicitly  stated  with  -GRP1,  2, 5 or 14 transforms and PFS suites use DH group 2.  There are
       currently no predefined ESP+AH Quick Mode suites.

       The  predefinitions  include  some  default  values  for  the  special  sections  "General",   "Keynote",
       "X509-certificates",  and  "Default-phase-1-configuration".   These  default  values are presented in the
       example below.

       All autogenerated values can be overridden by manual entries by using the same section and tag  names  in
       the  configuration file.  In particular, the default phase 1 (Main or Aggressive Mode) and phase 2 (Quick
       Mode) lifetimes can be overridden by these tags under the "General" section;

       [General]
       Default-phase-1-lifetime=       3600,60:86400
       Default-phase-2-lifetime=       1200,60:86400

       The Main Mode lifetime currently defaults to one hour (minimum 60 seconds, maximum  1  day).   The  Quick
       Mode lifetime defaults to 20 minutes (minimum 60 seconds, maximum 1 day).

       Also,  the  default  phase  1 ID can be set by creating a <Phase1-ID> section, as shown below, and adding
       this tag under the "General" section;

       [General]
       Default-phase-1-ID=             Phase1-ID-name

       [Phase1-ID-name]
       ID-type=                        USER_FQDN
       Name=                           foo@bar.com

   Roots
       General       Generic global configuration parameters

                     Default-phase-1-ID
                                   Optional default phase 1 ID name.

                     Default-phase-1-lifetime
                                   The default lifetime for autogenerated transforms (phase 1).  If unspecified,
                                   the value 3600,60:86400 is used as the default.

                     Default-phase-2-lifetime
                                   The default lifetime for autogenerated suites (phase 2).  If unspecified, the
                                   value 1200,60:86400 is used as the default.

                     Default-phase-2-suites
                                   A list of phase 2 suites that will be used when establishing dynamic SAs.  If
                                   left unspecified, QM-ESP-3DES-SHA-PFS-SUITE is used as the default.

                     Acquire-Only  If this tag is defined, isakmpd will not set up flows automatically.  This is
                                   useful when flows are configured with ipsecadm(4) or by other  programs  like
                                   bgpd(8).  Thus isakmpd only takes care of the SA establishment.

                     Check-interval
                                   The interval between watchdog checks of connections we want up at all times.

                     DPD-check-interval
                                   The  interval  between  RFC 3706 (Dead Peer Detection) messages.  The default
                                   value is 0 (zero), which means DPD is disabled.

                     Exchange-max-time
                                   How many seconds should an exchange maximally take to set up before  we  give
                                   up.

                     Listen-on     A  list  of  IP-addresses OK to listen on.  This list is used as a filter for
                                   the set of addresses the interfaces configured provides.  This means that  we
                                   won't  see  if an address given here does not exist on this host, and thus no
                                   error is given for that case.

                     Loglevel      A list of the form class=level, where both class and level are numbers.  This
                                   is similar to the -D command line switch  of  isakmpd.   See  isakmpd(8)  for
                                   details.

                     Logverbose    If  this  tag  is defined, whatever the value is, verbose logging is enabled.
                                   This is similar to the -v command line switch of isakmpd.  See isakmpd(8) for
                                   details.

                     NAT-T-Keepalive
                                   The number of seconds between NAT-T keepalive  messages,  sent  by  the  peer
                                   behind NAT to keep the mapping active.  Defaults to 20.

                     Policy-file   The  name  of  the  file  that  contains keynote(4) policies.  The default is
                                   "/etc/isakmpd/isakmpd.policy".

                     Pubkey-directory
                                   The directory in which isakmpd.conf looks for explicitly trusted public keys.
                                   The default is "/etc/isakmpd/pubkeys".   Read  isakmpd(8)  for  the  required
                                   naming convention of the files in here.

                     Renegotiate-on-HUP
                                   If  this  tag is defined, whatever the value is, isakmpd will renegotiate all
                                   current phase 2 SAs when the daemon receives a SIGHUP signal, or  an  ‘R’  is
                                   sent to the FIFO interface (see isakmpd(8)).

                     Retransmits   How many times should a message be retransmitted before giving up.

                     Shared-SADB   If this tag is defined, whatever the value is, some semantics of isakmpd.conf
                                   are  changed so that multiple instances can run on top of one SADB and set up
                                   SAs with each other.  Specifically this means replay protection will  not  be
                                   asked  for, and errors that can occur when updating an SA with its parameters
                                   a 2nd time will be ignored.

                     Use-Keynote   This tag controls the use of keynote(4) policy checking.  The  default  value
                                   is  "yes",  which  enables the policy checking.  When set to any other value,
                                   policies will not be checked.  This is useful when policies for flows and  SA
                                   establishment are arranged by other programs like ipsecadm(8) or bgpd(8).

       Phase 1       ISAKMP SA negotiation parameter root

                     <IP-address>  A name of the ISAKMP peer at the given IP-address.

                     Default       A  name  of the default ISAKMP peer.  Incoming phase 1 connections from other
                                   IP-addresses will use this peer name.

                                   This name is used as the section name for further information  to  be  found.
                                   Look at <ISAKMP-peer> below.

       Phase 2       IPsec SA negotiation parameter root

                     Connections   A  list  of  directed  IPsec  "connection"  names  that  should be brought up
                                   automatically, either on first use if the system supports it, or  at  startup
                                   of  the  daemon.  These names are section names where further information can
                                   be found.   Look  at  <IPsec-connection>  below.   Normally  any  connections
                                   mentioned  here  are  treated  as  part  of  the "Passive-connection" list we
                                   present below, however there is a  flag:  "Active-only"  that  disables  this
                                   behaviour.   This  too is mentioned in the <IPsec-connection> section, in the
                                   "Flags" tag.

                     Passive-connections
                                   A list of IPsec "connection" names we recognize and accept  initiations  for.
                                   These  names  are section names where further information can be found.  Look
                                   at <IPsec-connection> below.  Currently only the Local-ID and Remote-ID  tags
                                   are looked at in those sections, as they are matched against the IDs given by
                                   the initiator.

       KeyNote

                     Credential-directory
                                   A   directory   containing   directories   named  after  IDs  (IP  addresses,
                                   “user@domain”, or hostnames)  that  contain  files  named  “credentials”  and
                                   “private_key”.

                                   The  credentials  file  contains  keynote(4)  credentials  that are sent to a
                                   remote IKE daemon when we use the associated ID, or credentials that  we  may
                                   want  to  consider  when doing an exchange with a remote IKE daemon that uses
                                   that ID.  Note that, in the former case, the last credential in the file MUST
                                   contain our public key in its Licensees field.  More than one credentials may
                                   exist in  the  file.   They  are  separated  by  whitelines  (the  format  is
                                   essentially the same as that of the policy file).  The credentials are of the
                                   same  format  as  the  policies  described  in  isakmpd.policy(5).   The only
                                   difference is that the Authorizer  field  contains  a  public  key,  and  the
                                   assertion is signed.  Signed assertions can be generated using the keynote(1)
                                   utility.

                                   The  private_key file contains the private RSA key we use for authentication.
                                   If the directory (and the files) exist, they take precedence over  X509-based
                                   authentication.

       X509-Certificates

                     Accept-self-signed
                                   If  this  tag  is  defined,  whatever  the value is, certificates that do not
                                   originate from a trusted CA but are self-signed will be accepted.

                     Ca-directory  A directory containing PEM certificates of certification authorities that  we
                                   trust  to  sign other certificates.  Note that for a CA to be really trusted,
                                   it needs to be somehow referred to  by  policy,  in  isakmpd.policy(5).   The
                                   certificates  in  this directory are used for the actual X.509 authentication
                                   and for cross-referencing policies that refer to Distinguished  Names  (DNs).
                                   Keeping a separate directory (as opposed to integrating policies and X.509 CA
                                   certificates)  allows  for  maintenance of a list of "well known" CAs without
                                   actually having to trust all (or any) of them.

                     Cert-directory
                                   A directory containing PEM certificates that we trust  to  be  valid.   These
                                   certificates  are  used  in  preference  to  those passed in messages and are
                                   required to have a subjectAltName extension containing the certificate holder
                                   identity;  usually  IP  address,  FQDN,  or  User  FQDN,   as   provided   by
                                   certpatch(8).

                     Private-key   The  private  key matching the public key of our certificate (which should be
                                   in the "Cert-directory", and have an appropriate subjectAltName field).

   Referred-to sections
       <ISAKMP-peer> Parameters for negotiation with an ISAKMP peer

                     Phase         The constant 1, as ISAKMP-peers and IPsec-connections really are  handled  by
                                   the same code inside isakmpd.

                     Transport     The name of the transport protocol, defaults to UDP.

                     Port          In  case  of  UDP,  the  UDP  port  number to send to.  This is optional, the
                                   default value is 500 which is the IANA-registered number for ISAKMP.

                     Local-address
                                   The Local IP-address to use, if we are multi-homed, or have aliases.

                     Address       If existent, the IP-address of the peer.

                     Configuration
                                   The name of the  ISAKMP-configuration  section  to  use.   Look  at  <ISAKMP-
                                   configuration>    below.     If    unspecified,    defaults    to   "Default-
                                   phase-1-configuration".

                     Authentication
                                   If existent, authentication data for this specific  peer.   In  the  case  of
                                   preshared key, this is the key value itself.

                     ID            If  existent, the name of the section that describes the local client ID that
                                   we should present to our peer.  If not present, it defaults to the address of
                                   the local interface we are sending packets over to the remote  daemon.   Look
                                   at <Phase1-ID> below.

                     Remote-ID     If  existent,  the name of the section that describes the remote client ID we
                                   expect the remote daemon to send us.  If not  present,  it  defaults  to  the
                                   address of the remote daemon.  Look at <Phase1-ID> below.

                     Flags         A  comma-separated  list  of  flags  controlling  the further handling of the
                                   ISAKMP SA.  Currently there are no specific ISAKMP SA flags defined.

       <Phase1-ID>

                     ID-type       The ID type as given  by  the  RFC  specifications.   For  phase  1  this  is
                                   currently  IPV4_ADDR,  IPV4_ADDR_SUBNET,  IPV6_ADDR,  IPV6_ADDR_SUBNET, FQDN,
                                   USER_FQDN or KEY_ID.

                     Address       If the ID-type is IPV4_ADDR or IPV6_ADDR, this tag should exist and be an IP-
                                   address.

                     Network       If the ID-type is IPV4_ADDR_SUBNET or IPV6_ADDR_SUBNET this tag should  exist
                                   and be a network address.

                     Netmask       If  the ID-type is IPV4_ADDR_SUBNET or IPV6_ADDR_SUBNET this tag should exist
                                   and be a network subnet mask.

                     Name          If the ID-type is FQDN, USER_FQDN  or  KEY_ID,  this  tag  should  exist  and
                                   contain a domain name, user@domain, or other identifying string respectively.

                                   In  the  case of KEY_ID, note that the IKE protocol allows any octet sequence
                                   to be sent  or  received  under  this  payload,  potentially  including  non-
                                   printable  ones.  isakmpd(8) can only transmit printable KEY_ID payloads, but
                                   can receive and process arbitrary KEY_ID payloads.   This  effectively  means
                                   that  non-printable  KEY_ID remote identities cannot be verified through this
                                   means, although it is still possible to do so through isakmpd.policy(5).

       <ISAKMP-configuration>

                     DOI           The domain of interpretation as given  by  the  RFCs.   Normally  IPSEC.   If
                                   unspecified, defaults to IPSEC.

                     EXCHANGE_TYPE
                                   The  exchange  type  as given by the RFCs.  For main mode this is ID_PROT and
                                   for aggressive mode it is AGGRESSIVE.

                     Transforms    A list of proposed transforms to  use  for  protecting  the  ISAKMP  traffic.
                                   These  are  actually  names  for  sections further describing the transforms.
                                   Look at <ISAKMP-transform> below.

       <ISAKMP-transform>

                     ENCRYPTION_ALGORITHM
                                   The encryption algorithm as the RFCs name it,  or  ANY  to  denote  that  any
                                   encryption algorithm proposed will be accepted.

                     KEY_LENGTH    For  encryption  algorithms  with  variable  key  length,  this  is where the
                                   offered/accepted keylengths are described.  The value is of the  offer-accept
                                   kind described above.

                     HASH_ALGORITHM
                                   The hash algorithm as the RFCs name it, or ANY.

                     AUTHENTICATION_METHOD
                                   The authentication method as the RFCs name it, or ANY.

                     GROUP_DESCRIPTION
                                   The  group  used  for  Diffie-Hellman exponentiations, or ANY.  The names are
                                   symbolic, like MODP_768, MODP_1024, EC_155 and EC_185.

                     PRF           The algorithm to use for the  keyed  pseudo-random  function  (used  for  key
                                   derivation and authentication in phase 1), or ANY.

                     Life          A list of lifetime descriptions, or ANY.  In the former case, each element is
                                   in  itself  a  name  of  the  section  that  defines  the  lifetime.  Look at
                                   <Lifetime> below.  If it is set to ANY, then any type  of  proposed  lifetime
                                   type and value will be accepted.

       <Lifetime>

                     LIFE_TYPE     SECONDS or KILOBYTES depending on the type of the duration.  Notice that this
                                   field may NOT be set to ANY.

                     LIFE_DURATION
                                   An offer/accept kind of value, see above.  Can also be set to ANY.

       <IPsec-connection>

                     Phase         The  constant  2, as ISAKMP-peers and IPsec-connections really are handled by
                                   the same code inside isakmpd.

                     ISAKMP-peer   The name of the ISAKMP-peer which  to  talk  to  in  order  to  set  up  this
                                   connection.  The value is the name of an <ISAKMP-peer> section.  See above.

                     Configuration
                                   The  name  of  the  IPsec-configuration  section  to  use.   Look  at <IPsec-
                                   configuration> below.

                     Local-ID      If existent, the name of the section that describes the optional local client
                                   ID that we should present to our peer.  It  is  also  used  when  we  act  as
                                   responders  to find out what <IPsec-connection> we are dealing with.  Look at
                                   <IPsec-ID> below.

                     Remote-ID     If existent, the name of the  section  that  describes  the  optional  remote
                                   client ID that we should present to our peer.  It is also used when we act as
                                   responders  to find out what <IPsec-connection> we are dealing with.  Look at
                                   <IPsec-ID> below.

                     Flags         A comma-separated list of flags controlling the further handling of the IPsec
                                   SA.  Currently only one flag is defined:

                                   Active-only   If this flag is given and this <IPsec-connection>  is  part  of
                                                 the  phase  2 connections we automatically keep up, it will not
                                                 automatically be used for accepting connections from the peer.

       <IPsec-configuration>

                     DOI           The domain of interpretation as given  by  the  RFCs.   Normally  IPSEC.   If
                                   unspecified, defaults to IPSEC.

                     EXCHANGE_TYPE
                                   The exchange type as given by the RFCs.  For quick mode this is QUICK_MODE.

                     Suites        A  list of protection suites (bundles of protocols) usable for protecting the
                                   IP traffic.  Each of the list elements is a name of an <IPsec-suite> section.
                                   See below.

       <IPsec-suite>

                     Protocols     A list of the protocols included in this protection suite.  Each of the  list
                                   elements is a name of an <IPsec-protocol> section.  See below.

       <IPsec-protocol>

                     PROTOCOL_ID   The  protocol as given by the RFCs.  Acceptable values today are IPSEC_AH and
                                   IPSEC_ESP.

                     Transforms    A list of transforms usable for implementing the protocol.  Each of the  list
                                   elements is a name of an <IPsec-transform> section.  See below.

                     ReplayWindow  The  size  of  the  window used for replay protection.  This is normally left
                                   alone.  Look at the ESP and AH RFCs for a better description.

       <IPsec-transform>

                     TRANSFORM_ID  The transform ID as given by the RFCs.

                     ENCAPSULATION_MODE
                                   The encapsulation mode as given by the RFCs.  This means TRANSPORT or TUNNEL.

                     AUTHENTICATION_ALGORITHM
                                   The optional authentication algorithm in  the  case  of  this  being  an  ESP
                                   transform.

                     GROUP_DESCRIPTION
                                   An  optional (provides PFS if present) Diffie-Hellman group description.  The
                                   values are the same as  GROUP_DESCRIPTION's  in  <ISAKMP-transform>  sections
                                   shown above.

                     Life          List of lifetimes, each element is a <Lifetime> section name.

       <IPsec-ID>

                     ID-type       The  ID  type  as  given by the RFCs.  For IPsec this is currently IPV4_ADDR,
                                   IPV6_ADDR, IPV4_ADDR_SUBNET or IPV6_ADDR_SUBNET.

                     Address       If the ID-type is IPV4_ADDR or IPV6_ADDR this tag should exist and be an  IP-
                                   address.

                     Network       If  the ID-type is IPV4_ADDR_SUBNET or IPV6_ADDR_SUBNET this tag should exist
                                   and be a network address.

                     Netmask       If the ID-type is IPV4_ADDR_SUBNET or IPV6_ADDR_SUBNET this tag should  exist
                                   and be a network subnet mask.

                     Protocol      If  the ID-type is IPV4_ADDR, IPV4_ADDR_SUBNET, IPV6_ADDR or IPV6_ADDR_SUBNET
                                   this tag indicates what transport protocol should be transmitted over the SA.
                                   If left unspecified, all transport protocols between the two address (ranges)
                                   will be sent (or permitted) over that SA.

                     Port          If the ID-type is IPV4_ADDR, IPV4_ADDR_SUBNET, IPV6_ADDR or  IPV6_ADDR_SUBNET
                                   this  tag  indicates  what  source  or  destination  port  is  allowed  to be
                                   transported over the SA (depending on whether this is a local or remote  ID).
                                   If  left  unspecified,  all  ports  of  the  given transport protocol will be
                                   transmitted (or permitted) over the SA.  The Protocol tag must  be  specified
                                   in conjunction with this tag.

   Other sections
       <IKECFG-ID>   Parameters to use with IKE mode-config.  One ID per peer.

                     An IKECFG-ID is written as [<ID-type>/<name>].  The following ID types are supported:

                     IPv4          [ipv4/A.B.C.D]

                     IPv6          [ipv6/abcd:abcd::ab:cd]

                     FQDN          [fqdn/foo.bar.org]

                     UFQDN         [ufqdn/user@foo.bar.org]

                     ASN1_DN       [asn1_dn//C=aa/O=cc/...]  (Note  the  double  slashes as the DN itself starts
                                   with a ‘/’.)

                     Each section specifies what configuration values to return to the peer requesting IKE mode-
                     config.  Currently supported values are:

                     Address       The peer's network address.

                     Netmask       The peer's netmask.

                     Nameserver    The IP address of a DNS nameserver.

                     WINS-server   The IP address of a WINS server.

       <Initiator-ID>

                     During phase 1 negotiation isakmpd looks for a pre-shared key in the <ISAKMP-peer> section.
                     If no Authentication data is specified in that section, and isakmpd is not  the  initiator,
                     it looks for Authentication data in a section named after the initiator's phase 1 ID.  This
                     allows mobile users with dynamic IP addresses to have different shared secrets.

                     This  only works for aggressive mode because in main mode the remote initiator ID would not
                     yet be known.

                     The name of the <Initiator-ID> section depends on  the  ID  type  sent  by  the  initiator.
                     Currently this can be:

                     IPv4          [A.B.C.D]

                     IPv6          [abcd:abcd::ab:cd]

                     FQDN          [foo.bar.org]

                     UFQDN         [user@foo.bar.org]

FILES

       /etc/isakmpd/isakmpd.conf  The default isakmpd configuration file.

       /usr/share/ipsec/isakmpd/  A directory containing some sample isakmpd configuration files.

EXAMPLES

       An example of a configuration file:

       # A configuration sample for the isakmpd ISAKMP/Oakley (aka IKE) daemon.

       [General]
       Listen-on=              10.1.0.2

       # Incoming phase 1 negotiations are multiplexed on the source IP address
       [Phase 1]
       10.1.0.1=               ISAKMP-peer-west

       # These connections are walked over after config file parsing and told
       # to the application layer so that it will inform us when traffic wants to
       # pass over them.
       This means we can do on-demand keying.
       [Phase 2]
       Connections=            IPsec-east-west

       # Default values are commented out.
       [ISAKMP-peer-west]
       Phase=                  1
       #Transport=             udp
       Local-address=          10.1.0.2
       Address=                10.1.0.1
       #Port=                  isakmp
       #Port=                  500
       #Configuration=         Default-phase-1-configuration
       Authentication=         mekmitasdigoat
       #Flags=

       [IPsec-east-west]
       Phase=                  2
       ISAKMP-peer=            ISAKMP-peer-west
       Configuration=          Default-quick-mode
       Local-ID=               Net-east
       Remote-ID=              Net-west
       #Flags=

       [Net-west]
       ID-type=                IPV4_ADDR_SUBNET
       Network=                192.168.1.0
       Netmask=                255.255.255.0

       [Net-east]
       ID-type=                IPV4_ADDR_SUBNET
       Network=                192.168.2.0
       Netmask=                255.255.255.0

       # Quick mode descriptions

       [Default-quick-mode]
       EXCHANGE_TYPE=          QUICK_MODE
       Suites=                 QM-ESP-3DES-SHA-PFS-SUITE,QM-ESP-AES-SHA-PFS-SUITE

       # Data for an IKE mode-config peer
       [asn1_dn//C=SE/L=SomeCity/O=SomeCompany/CN=SomePeer.company.com]
       Address=                192.168.1.123
       Netmask=                255.255.255.0
       Nameserver=             192.168.1.10
       WINS-server=            192.168.1.11

       # pre-shared key based on initiator's phase 1 ID
       [foo.bar.org]
       Authentication=         mekmitasdigoat

       #
       # #####################################################################
       # All configuration data below this point is not required as the example
       # uses the predefined Main Mode transform and Quick Mode suite names.
       # It is included here for completeness.  Note the default values for the
       # [General] and [X509-certificates] sections just below.
       # #####################################################################
       #

       [General]
       Policy-file=            /etc/isakmpd/isakmpd.policy
       Retransmits=            3
       Exchange-max-time=      120

       # KeyNote credential storage
       [KeyNote]
       Credential-directory=   /etc/isakmpd/keynote/

       # Certificates stored in PEM format
       [X509-certificates]
       CA-directory=           /etc/isakmpd/ca/
       Cert-directory=         /etc/isakmpd/certs/
       CRL-directory=          /etc/isakmpd/crls/
       Private-key=            /etc/isakmpd/private/local.key

       # Default phase 1 description (Main Mode)

       [Default-phase-1-configuration]
       EXCHANGE_TYPE=          ID_PROT
       Transforms=             3DES-SHA

       # Main mode transforms
       ######################

       # DES

       [DES-MD5]
       ENCRYPTION_ALGORITHM=   DES_CBC
       HASH_ALGORITHM=         MD5
       AUTHENTICATION_METHOD=  PRE_SHARED
       GROUP_DESCRIPTION=      MODP_1024
       Life=                   Default-phase-1-lifetime

       [DES-SHA]
       ENCRYPTION_ALGORITHM=   DES_CBC
       HASH_ALGORITHM=         SHA
       AUTHENTICATION_METHOD=  PRE_SHARED
       GROUP_DESCRIPTION=      MODP_1024
       Life=                   Default-phase-1-lifetime

       # 3DES

       [3DES-SHA]
       ENCRYPTION_ALGORITHM=   3DES_CBC
       HASH_ALGORITHM=         SHA
       AUTHENTICATION_METHOD=  PRE_SHARED
       GROUP_DESCRIPTION=      MODP_1024
       Life=                   Default-phase-1-lifetime

       # Blowfish

       [BLF-SHA]
       ENCRYPTION_ALGORITHM=   BLOWFISH_CBC
       KEY_LENGTH=             128,96:192
       HASH_ALGORITHM=         SHA
       AUTHENTICATION_METHOD=  PRE_SHARED
       GROUP_DESCRIPTION=      MODP_1024
       Life=                   Default-phase-1-lifetime

       # Blowfish, using DH group 4 (non-default)
       [BLF-SHA-EC185]
       ENCRYPTION_ALGORITHM=   BLOWFISH_CBC
       KEY_LENGTH=             128,96:192
       HASH_ALGORITHM=         SHA
       AUTHENTICATION_METHOD=  PRE_SHARED
       GROUP_DESCRIPTION=      EC2N_185
       Life=                   Default-phase-1-lifetime

       # Quick mode protection suites
       ##############################

       # DES

       [QM-ESP-DES-SUITE]
       Protocols=              QM-ESP-DES

       [QM-ESP-DES-PFS-SUITE]
       Protocols=              QM-ESP-DES-PFS

       [QM-ESP-DES-MD5-SUITE]
       Protocols=              QM-ESP-DES-MD5

       [QM-ESP-DES-MD5-PFS-SUITE]
       Protocols=              QM-ESP-DES-MD5-PFS

       [QM-ESP-DES-SHA-SUITE]
       Protocols=              QM-ESP-DES-SHA

       [QM-ESP-DES-SHA-PFS-SUITE]
       Protocols=              QM-ESP-DES-SHA-PFS

       # 3DES

       [QM-ESP-3DES-SHA-SUITE]
       Protocols=              QM-ESP-3DES-SHA

       [QM-ESP-3DES-SHA-PFS-SUITE]
       Protocols=              QM-ESP-3DES-SHA-PFS

       # AES

       [QM-ESP-AES-SHA-SUITE]
       Protocols=              QM-ESP-AES-SHA

       [QM-ESP-AES-SHA-PFS-SUITE]
       Protocols=              QM-ESP-AES-SHA-PFS

       # AH

       [QM-AH-MD5-SUITE]
       Protocols=              QM-AH-MD5

       [QM-AH-MD5-PFS-SUITE]
       Protocols=              QM-AH-MD5-PFS

       # AH + ESP (non-default)

       [QM-AH-MD5-ESP-DES-SUITE]
       Protocols=              QM-AH-MD5,QM-ESP-DES

       [QM-AH-MD5-ESP-DES-MD5-SUITE]
       Protocols=              QM-AH-MD5,QM-ESP-DES-MD5

       [QM-ESP-DES-MD5-AH-MD5-SUITE]
       Protocols=              QM-ESP-DES-MD5,QM-AH-MD5

       # Quick mode protocols

       # DES

       [QM-ESP-DES]
       PROTOCOL_ID=            IPSEC_ESP
       Transforms=             QM-ESP-DES-XF

       [QM-ESP-DES-MD5]
       PROTOCOL_ID=            IPSEC_ESP
       Transforms=             QM-ESP-DES-MD5-XF

       [QM-ESP-DES-MD5-PFS]
       PROTOCOL_ID=            IPSEC_ESP
       Transforms=             QM-ESP-DES-MD5-PFS-XF

       [QM-ESP-DES-SHA]
       PROTOCOL_ID=            IPSEC_ESP
       Transforms=             QM-ESP-DES-SHA-XF

       # 3DES

       [QM-ESP-3DES-SHA]
       PROTOCOL_ID=            IPSEC_ESP
       Transforms=             QM-ESP-3DES-SHA-XF

       [QM-ESP-3DES-SHA-PFS]
       PROTOCOL_ID=            IPSEC_ESP
       Transforms=             QM-ESP-3DES-SHA-PFS-XF

       [QM-ESP-3DES-SHA-TRP]
       PROTOCOL_ID=            IPSEC_ESP
       Transforms=             QM-ESP-3DES-SHA-TRP-XF

       # AES

       [QM-ESP-AES-SHA]
       PROTOCOL_ID=            IPSEC_ESP
       Transforms=             QM-ESP-AES-SHA-XF

       [QM-ESP-AES-SHA-PFS]
       PROTOCOL_ID=            IPSEC_ESP
       Transforms=             QM-ESP-AES-SHA-PFS-XF

       [QM-ESP-AES-SHA-TRP]
       PROTOCOL_ID=            IPSEC_ESP
       Transforms=             QM-ESP-AES-SHA-TRP-XF

       # AH MD5

       [QM-AH-MD5]
       PROTOCOL_ID=            IPSEC_AH
       Transforms=             QM-AH-MD5-XF

       [QM-AH-MD5-PFS]
       PROTOCOL_ID=            IPSEC_AH
       Transforms=             QM-AH-MD5-PFS-XF

       # Quick mode transforms

       # ESP DES+MD5

       [QM-ESP-DES-XF]
       TRANSFORM_ID=           DES
       ENCAPSULATION_MODE=     TUNNEL
       Life=                   Default-phase-2-lifetime

       [QM-ESP-DES-MD5-XF]
       TRANSFORM_ID=           DES
       ENCAPSULATION_MODE=     TUNNEL
       AUTHENTICATION_ALGORITHM=       HMAC_MD5
       Life=                   Default-phase-2-lifetime

       [QM-ESP-DES-MD5-PFS-XF]
       TRANSFORM_ID=           DES
       ENCAPSULATION_MODE=     TUNNEL
       GROUP_DESCRIPTION=      MODP_1024
       AUTHENTICATION_ALGORITHM=       HMAC_MD5
       Life=                   Default-phase-2-lifetime

       [QM-ESP-DES-SHA-XF]
       TRANSFORM_ID=           DES
       ENCAPSULATION_MODE=     TUNNEL
       AUTHENTICATION_ALGORITHM=       HMAC_SHA
       Life=                   Default-phase-2-lifetime

       # 3DES

       [QM-ESP-3DES-SHA-XF]
       TRANSFORM_ID=           3DES
       ENCAPSULATION_MODE=     TUNNEL
       AUTHENTICATION_ALGORITHM=       HMAC_SHA
       Life=                   Default-phase-2-lifetime

       [QM-ESP-3DES-SHA-PFS-XF]
       TRANSFORM_ID=           3DES
       ENCAPSULATION_MODE=     TUNNEL
       AUTHENTICATION_ALGORITHM=       HMAC_SHA
       GROUP_DESCRIPTION=      MODP_1024
       Life=                   Default-phase-2-lifetime

       [QM-ESP-3DES-SHA-TRP-XF]
       TRANSFORM_ID=           3DES
       ENCAPSULATION_MODE=     TRANSPORT
       AUTHENTICATION_ALGORITHM=       HMAC_SHA
       Life=                   Default-phase-2-lifetime

       # AES

       [QM-ESP-AES-SHA-XF]
       TRANSFORM_ID=           AES
       ENCAPSULATION_MODE=     TUNNEL
       AUTHENTICATION_ALGORITHM=       HMAC_SHA
       Life=                   Default-phase-2-lifetime

       [QM-ESP-AES-SHA-PFS-XF]
       TRANSFORM_ID=           AES
       ENCAPSULATION_MODE=     TUNNEL
       AUTHENTICATION_ALGORITHM=       HMAC_SHA
       GROUP_DESCRIPTION=      MODP_1024
       Life=                   Default-phase-2-lifetime

       [QM-ESP-AES-SHA-TRP-XF]
       TRANSFORM_ID=           AES
       ENCAPSULATION_MODE=     TRANSPORT
       AUTHENTICATION_ALGORITHM=       HMAC_SHA
       Life=                   Default-phase-2-lifetime

       # AH

       [QM-AH-MD5-XF]
       TRANSFORM_ID=           MD5
       ENCAPSULATION_MODE=     TUNNEL
       AUTHENTICATION_ALGORITHM=       HMAC_MD5
       Life=                   Default-phase-2-lifetime

       [QM-AH-MD5-PFS-XF]
       TRANSFORM_ID=           MD5
       ENCAPSULATION_MODE=     TUNNEL
       GROUP_DESCRIPTION=      MODP_1024
       Life=                   Default-phase-2-lifetime

       [Sample-Life-Time]
       LIFE_TYPE=              SECONDS
       LIFE_DURATION=          3600,1800:7200

       [Sample-Life-Volume]
       LIFE_TYPE=              KILOBYTES
       LIFE_DURATION=          1000,768:1536

SEE ALSO

       keynote(1), ipsec(4), keynote(4), isakmpd.policy(5), isakmpd(8)

BUGS

       The  RFCs do not permit differing DH groups in the same proposal for aggressive and quick mode exchanges.
       Mixing both PFS and non-PFS suites in a quick mode proposal is not possible, as PFS implies  using  a  DH
       group.

Debian                                           August 07, 2002                                 ISAKMPD.CONF(5)