/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to mandos-clients.conf.xml

  • Committer: Teddy Hogeborn
  • Date: 2018-08-19 01:35:11 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 368.
  • Revision ID: teddy@recompile.se-20180819013511-cku25q9yeub3dnr0
Adapt to changes in cryptsetup; use "cryptroot-unlock" program

* Makefile (install-client-nokey): Also install new script files
  "mandos-to-cryptroot-unlock" and "initramfs-tools-script-stop".
* debian/mandos-client.dirs: Add
  "usr/share/initramfs-tools/scripts/local-premount".
* initramfs-tools-hook: Also copy "mandos-to-cryptroot-unlock".
* initramfs-tools-script: Only modify keyscript setting in cryptroot
  file if the file exists, otherwise start
  "mandos-to-cryptroot-unlock" in background.
* initramfs-tools-script-stop: New script to make sure plugin-runner
  has stopped before continuing.
* mandos-to-cryptroot-unlock: New script to run plugin-runner and feed
  any password it gets into the "cryptroot-unlock" program.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
4
<!ENTITY CONFNAME "mandos-clients.conf">
5
5
<!ENTITY CONFPATH "<filename>/etc/mandos/clients.conf</filename>">
6
 
<!ENTITY TIMESTAMP "2012-01-01">
 
6
<!ENTITY TIMESTAMP "2018-02-08">
7
7
<!ENTITY % common SYSTEM "common.ent">
8
8
%common;
9
9
]>
37
37
      <year>2010</year>
38
38
      <year>2011</year>
39
39
      <year>2012</year>
 
40
      <year>2013</year>
 
41
      <year>2014</year>
 
42
      <year>2015</year>
 
43
      <year>2016</year>
 
44
      <year>2017</year>
 
45
      <year>2018</year>
40
46
      <holder>Teddy Hogeborn</holder>
41
47
      <holder>Björn Påhlsson</holder>
42
48
    </copyright>
66
72
      ><refentrytitle>mandos</refentrytitle>
67
73
      <manvolnum>8</manvolnum></citerefentry>, read by it at startup.
68
74
      The file needs to list all clients that should be able to use
69
 
      the service.  All clients listed will be regarded as enabled,
70
 
      even if a client was disabled in a previous run of the server.
 
75
      the service.  The settings in this file can be overridden by
 
76
      runtime changes to the server, which it saves across restarts.
 
77
      (See the section called <quote>PERSISTENT STATE</quote> in
 
78
      <citerefentry><refentrytitle>mandos</refentrytitle><manvolnum
 
79
      >8</manvolnum></citerefentry>.)  However, any <emphasis
 
80
      >changes</emphasis> to this file (including adding and removing
 
81
      clients) will, at startup, override changes done during runtime.
71
82
    </para>
72
83
    <para>
73
84
      The format starts with a <literal>[<replaceable>section
112
123
          <para>
113
124
            How long to wait for external approval before resorting to
114
125
            use the <option>approved_by_default</option> value.  The
115
 
            default is <quote>0s</quote>, i.e. not to wait.
 
126
            default is <quote>PT0S</quote>, i.e. not to wait.
116
127
          </para>
117
128
          <para>
118
129
            The format of <replaceable>TIME</replaceable> is the same
162
173
            This option is <emphasis>optional</emphasis>.
163
174
          </para>
164
175
          <para>
165
 
            This option allows you to override the default shell
166
 
            command that the server will use to check if the client is
167
 
            still up.  Any output of the command will be ignored, only
168
 
            the exit code is checked:  If the exit code of the command
169
 
            is zero, the client is considered up.  The command will be
170
 
            run using <quote><command><filename>/bin/sh</filename>
 
176
            This option overrides the default shell command that the
 
177
            server will use to check if the client is still up.  Any
 
178
            output of the command will be ignored, only the exit code
 
179
            is checked:  If the exit code of the command is zero, the
 
180
            client is considered up.  The command will be run using
 
181
            <quote><command><filename>/bin/sh</filename>
171
182
            <option>-c</option></command></quote>, so
172
183
            <varname>PATH</varname> will be searched.  The default
173
184
            value for the checker command is <quote><literal
174
185
            ><command>fping</command> <option>-q</option> <option
175
 
            >--</option> %%(host)s</literal></quote>.
 
186
            >--</option> %%(host)s</literal></quote>.  Note that
 
187
            <command>mandos-keygen</command>, when generating output
 
188
            to be inserted into this file, normally looks for an SSH
 
189
            server on the Mandos client, and, if it find one, outputs
 
190
            a <option>checker</option> option to check for the
 
191
            client’s key fingerprint – this is more secure against
 
192
            spoofing.
176
193
          </para>
177
194
          <para>
178
195
            In addition to normal start time expansion, this option
215
232
          <para>
216
233
            This option sets the OpenPGP fingerprint that identifies
217
234
            the public key that clients authenticate themselves with
218
 
            through TLS.  The string needs to be in hexidecimal form,
 
235
            through TLS.  The string needs to be in hexadecimal form,
219
236
            but spaces or upper/lower case are not significant.
220
237
          </para>
221
238
        </listitem>
330
347
            <option>extended_timeout</option> option.
331
348
          </para>
332
349
          <para>
333
 
            The <replaceable>TIME</replaceable> is specified as a
334
 
            space-separated number of values, each of which is a
335
 
            number and a one-character suffix.  The suffix must be one
336
 
            of <quote>d</quote>, <quote>s</quote>, <quote>m</quote>,
337
 
            <quote>h</quote>, and <quote>w</quote> for days, seconds,
338
 
            minutes, hours, and weeks, respectively.  The values are
339
 
            added together to give the total time value, so all of
340
 
            <quote><literal>330s</literal></quote>,
341
 
            <quote><literal>110s 110s 110s</literal></quote>, and
342
 
            <quote><literal>5m 30s</literal></quote> will give a value
343
 
            of five minutes and thirty seconds.
 
350
            The <replaceable>TIME</replaceable> is specified as an RFC
 
351
            3339 duration; for example
 
352
            <quote><literal>P1Y2M3DT4H5M6S</literal></quote> meaning
 
353
            one year, two months, three days, four hours, five
 
354
            minutes, and six seconds.  Some values can be omitted, see
 
355
            RFC 3339 Appendix A for details.
344
356
          </para>
345
357
        </listitem>
346
358
      </varlistentry>
404
416
        <quote><literal>approval_duration</literal></quote>,
405
417
        <quote><literal>created</literal></quote>,
406
418
        <quote><literal>enabled</literal></quote>,
 
419
        <quote><literal>expires</literal></quote>,
407
420
        <quote><literal>fingerprint</literal></quote>,
408
421
        <quote><literal>host</literal></quote>,
409
422
        <quote><literal>interval</literal></quote>,
452
465
      <literal>%(<replaceable>foo</replaceable>)s</literal> is
453
466
      obscure.
454
467
    </para>
 
468
    <xi:include href="bugs.xml"/>
455
469
  </refsect1>
456
470
  
457
471
  <refsect1 id="example">
459
473
    <informalexample>
460
474
      <programlisting>
461
475
[DEFAULT]
462
 
timeout = 5m
463
 
interval = 2m
 
476
timeout = PT5M
 
477
interval = PT2M
464
478
checker = fping -q -- %%(host)s
465
479
 
466
480
# Client "foo"
483
497
        4T2zw4dxS5NswXWU0sVEXxjs6PYxuIiCTL7vdpx8QjBkrPWDrAbcMyBr2O
484
498
        QlnHIvPzEArRQLo=
485
499
host = foo.example.org
486
 
interval = 1m
 
500
interval = PT1M
487
501
 
488
502
# Client "bar"
489
503
[bar]
490
504
fingerprint = 3e393aeaefb84c7e89e2f547b3a107558fca3a27
491
505
secfile = /etc/mandos/bar-secret
492
 
timeout = 15m
 
506
timeout = PT15M
493
507
approved_by_default = False
494
 
approval_delay = 30s
 
508
approval_delay = PT30S
495
509
      </programlisting>
496
510
    </informalexample>
497
511
  </refsect1>
506
520
      <citerefentry><refentrytitle>mandos.conf</refentrytitle>
507
521
      <manvolnum>5</manvolnum></citerefentry>,
508
522
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
523
      <manvolnum>8</manvolnum></citerefentry>,
 
524
      <citerefentry><refentrytitle>fping</refentrytitle>
509
525
      <manvolnum>8</manvolnum></citerefentry>
510
526
    </para>
 
527
    <variablelist>
 
528
      <varlistentry>
 
529
        <term>
 
530
          RFC 3339: <citetitle>Date and Time on the Internet:
 
531
          Timestamps</citetitle>
 
532
        </term>
 
533
      <listitem>
 
534
        <para>
 
535
          The time intervals are in the "duration" format, as
 
536
          specified in ABNF in Appendix A of RFC 3339.
 
537
        </para>
 
538
      </listitem>
 
539
      </varlistentry>
 
540
    </variablelist>
511
541
  </refsect1>
512
542
</refentry>
513
543
<!-- Local Variables: -->