Annotation of embedaddon/strongswan/man/ipsec.secrets.5.in, revision 1.1.1.1
1.1 misho 1: .TH IPSEC.SECRETS 5 "2011-12-14" "@PACKAGE_VERSION@" "strongSwan"
2: .SH NAME
3: ipsec.secrets \- secrets for IKE/IPsec authentication
4: .SH DESCRIPTION
5: The file \fIipsec.secrets\fP holds a table of secrets.
6: These secrets are used by the strongSwan Internet Key Exchange (IKE) daemons
7: pluto (IKEv1) and charon (IKEv2) to authenticate other hosts.
8: .LP
9: It is vital that these secrets be protected. The file should be owned
10: by the super-user,
11: and its permissions should be set to block all access by others.
12: .LP
13: The file is a sequence of entries and include directives.
14: Here is an example.
15: .LP
16: .RS
17: .nf
18: # /etc/ipsec.secrets - strongSwan IPsec secrets file
19: 192.168.0.1 %any : PSK "v+NkxY9LLZvwj4qCC2o/gGrWDF2d21jL"
20:
21: : RSA moonKey.pem
22:
23: alice@strongswan.org : EAP "x3.dEhgN"
24:
25: carol : XAUTH "4iChxLT3"
26:
27: dave : XAUTH "ryftzG4A"
28:
29: # get secrets from other files
30: include ipsec.*.secrets
31: .fi
32: .RE
33: .LP
34: Each entry in the file is a list of optional ID selectors, followed by a secret.
35: The two parts are separated by a colon (\fB:\fP) that is surrounded
36: by whitespace. If no ID selectors are specified the line must start with a
37: colon.
38: .LP
39: A selector is an IP address, a Fully Qualified Domain Name, user@FQDN,
40: \fB%any\fP or \fB%any6\fP (other kinds may come).
41: .LP
42: Matching IDs with selectors is fairly straightforward: they have to be
43: equal. In the case of a ``Road Warrior'' connection, if an equal
44: match is not found for the Peer's ID, and it is in the form of an IP
45: address, a selector of \fB%any\fP will match the peer's IP address if IPV4
46: and \fB%any6\fP will match a the peer's IP address if IPV6.
47: Currently, the obsolete notation \fB0.0.0.0\fP may be used in place of
48: \fB%any\fP.
49: .LP
50: In IKEv1 an additional complexity
51: arises in the case of authentication by preshared secret: the
52: responder will need to look up the secret before the Peer's ID payload has
53: been decoded, so the ID used will be the IP address.
54: .LP
55: To authenticate a connection between two hosts, the entry that most
56: specifically matches the host and peer IDs is used. An entry with no
57: selectors will match any host and peer. More specifically, an entry with one
58: selector will match a host and peer if the selector matches the host's ID (the
59: peer isn't considered). Still more specifically, an entry with multiple
60: selectors will match a host and peer if the host ID and peer ID each match one
61: of the selectors. If the key is for an asymmetric authentication technique
62: (i.e. a public key system such as RSA), an entry with multiple selectors will
63: match a host and peer even if only the host ID matches a selector (it is
64: presumed that the selectors are all identities of the host).
65: It is acceptable for two entries to be the best match as
66: long as they agree about the secret or private key.
67: .LP
68: Authentication by preshared secret requires that both systems find the
69: identical secret (the secret is not actually transmitted by the IKE
70: protocol). If both the host and peer appear in the selector list, the
71: same entry will be suitable for both systems so verbatim copying
72: between systems can be used. This naturally extends to larger groups
73: sharing the same secret. Thus multiple-selector entries are best for PSK
74: authentication.
75: .LP
76: Authentication by public key systems such as RSA requires that each host
77: have its own private key. A host could reasonably use a different private keys
78: for different interfaces and for different peers. But it would not
79: be normal to share entries between systems. Thus thus no-selector and
80: one-selector forms of entry often make sense for public key authentication.
81: .LP
82: The key part of an entry must start with a token indicating the kind of
83: key. The following types of secrets are currently supported:
84: .TP
85: .B PSK
86: defines a pre-shared key
87: .TP
88: .B RSA
89: defines an RSA private key
90: .TP
91: .B ECDSA
92: defines an ECDSA private key
93: .TP
94: .B P12
95: defines a PKCS#12 container
96: .TP
97: .B EAP
98: defines EAP credentials
99: .TP
100: .B NTLM
101: defines NTLM credentials
102: .TP
103: .B XAUTH
104: defines XAUTH credentials
105: .TP
106: .B PIN
107: defines a smartcard PIN
108: .LP
109: Details on each type of secret are given below.
110: .LP
111: Whitespace at the end of a line is ignored. At the start of a line or
112: after whitespace, \fB#\fP and the following text up to the end of the
113: line is treated as a comment.
114: .LP
115: An include directive causes the contents of the named file to be processed
116: before continuing with the current file. The filename is subject to
117: ``globbing'' as in \fIsh\fP(1), so every file with a matching name
118: is processed. Includes may be nested to a modest
119: depth (10, currently). If the filename doesn't start with a \fB/\fP, the
120: directory containing the current file is prepended to the name. The
121: include directive is a line that starts with the word \fBinclude\fP,
122: followed by whitespace, followed by the filename (which must not contain
123: whitespace).
124: .SS TYPES OF SECRETS
125: .TP
126: .B [ <selectors> ] : PSK <secret>
127: A preshared \fIsecret\fP is most conveniently represented as a sequence of
128: characters, which is delimited by double-quote characters (\fB"\fP).
129: The sequence cannot contain newline or double-quote characters.
130: .br
131: Alternatively, preshared secrets can be represented as hexadecimal or Base64
132: encoded binary values. A character sequence beginning with
133: .B 0x
134: is interpreted as sequence of hexadecimal digits.
135: Similarly, a character sequence beginning with
136: .B 0s
137: is interpreted as Base64 encoded binary data.
138: .TP
139: .B : RSA <private key file> [ <passphrase> | %prompt ]
140: .TQ
141: .B : ECDSA <private key file> [ <passphrase> | %prompt ]
142: For the private key file both absolute paths or paths relative to
143: \fI/etc/ipsec.d/private\fP are accepted. If the private key file is
144: encrypted, the \fIpassphrase\fP must be defined. Instead of a passphrase
145: .B %prompt
146: can be used which then causes the daemon to ask the user for the password
147: whenever it is required to decrypt the key.
148: .TP
149: .B : P12 <PKCS#12 file> [ <passphrase> | %prompt ]
150: For the PKCS#12 file both absolute paths or paths relative to
151: \fI/etc/ipsec.d/private\fP are accepted. If the container is
152: encrypted, the \fIpassphrase\fP must be defined. Instead of a passphrase
153: .B %prompt
154: can be used which then causes the daemon to ask the user for the password
155: whenever it is required to decrypt the container. Private keys, client and CA
156: certificates are extracted from the container. To use such a client certificate
157: in a connection set leftid to one of the subjects of the certificate.
158: .TP
159: .B <user id> : EAP <secret>
160: The format of \fIsecret\fP is the same as that of \fBPSK\fP secrets.
161: .br
162: \fBEAP\fP secrets are IKEv2 only.
163: .TP
164: .B <user id> : NTLM <secret>
165: The format of \fIsecret\fP is the same as that of \fBPSK\fP secrets, but the
166: secret is stored as NTLM hash, which is MD4(UTF-16LE(secret)), instead of as
167: cleartext.
168: .br
169: \fBNTLM\fP secrets can only be used with the \fBeap-mschapv2\fP plugin.
170: .TP
171: .B [ <servername> ] <username> : XAUTH <password>
172: The format of \fIpassword\fP is the same as that of \fBPSK\fP secrets.
173: \fBXAUTH\fP secrets are IKEv1 only.
174: .TP
175: .B : PIN %smartcard[<slot nr>[@<module>]]:<keyid> <pin code> | %prompt
176: The smartcard selector always requires a keyid to uniquely select the correct
177: key. The slot number defines the slot on the token, the module name refers to
178: the module name defined in strongswan.conf(5).
179: Instead of specifying the pin code statically,
180: .B %prompt
181: can be specified, which causes the daemon to ask the user for the pin code.
182: .LP
183:
184: .SH FILES
185: /etc/ipsec.secrets
186: .SH SEE ALSO
187: ipsec.conf(5), strongswan.conf(5), ipsec(8)
188: .br
189: .SH HISTORY
190: Originally written for the FreeS/WAN project by D. Hugh Redelmeier.
191: Updated and extended for the strongSwan project <http://www.strongswan.org> by
192: Tobias Brunner and Andreas Steffen.
193: .SH BUGS
194: If an ID is \fB0.0.0.0\fP, it will match \fB%any\fP;
195: if it is \fB0::0\fP, it will match \fB%any6\fP.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>