/mandos/trunk

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

« back to all changes in this revision

Viewing changes to plugins.d/mandos-client.xml

merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
 
<!ENTITY VERSION "1.0">
5
 
<!ENTITY COMMANDNAME "password-request">
6
 
<!ENTITY TIMESTAMP "2008-09-03">
 
4
<!ENTITY COMMANDNAME "mandos-client">
 
5
<!ENTITY TIMESTAMP "2009-01-04">
 
6
<!ENTITY % common SYSTEM "../common.ent">
 
7
%common;
7
8
]>
8
9
 
9
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
10
11
  <refentryinfo>
11
12
    <title>Mandos Manual</title>
12
 
    <!-- Nwalsh’s docbook scripts use this to generate the footer: -->
 
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
13
14
    <productname>Mandos</productname>
14
 
    <productnumber>&VERSION;</productnumber>
 
15
    <productnumber>&version;</productnumber>
15
16
    <date>&TIMESTAMP;</date>
16
17
    <authorgroup>
17
18
      <author>
31
32
    </authorgroup>
32
33
    <copyright>
33
34
      <year>2008</year>
 
35
      <year>2009</year>
34
36
      <holder>Teddy Hogeborn</holder>
35
37
      <holder>Björn Påhlsson</holder>
36
38
    </copyright>
37
39
    <xi:include href="../legalnotice.xml"/>
38
40
  </refentryinfo>
39
 
 
 
41
  
40
42
  <refmeta>
41
43
    <refentrytitle>&COMMANDNAME;</refentrytitle>
42
44
    <manvolnum>8mandos</manvolnum>
45
47
  <refnamediv>
46
48
    <refname><command>&COMMANDNAME;</command></refname>
47
49
    <refpurpose>
48
 
      Client for mandos
 
50
      Client for <application>Mandos</application>
49
51
    </refpurpose>
50
52
  </refnamediv>
51
 
 
 
53
  
52
54
  <refsynopsisdiv>
53
55
    <cmdsynopsis>
54
56
      <command>&COMMANDNAME;</command>
55
57
      <group>
56
58
        <arg choice="plain"><option>--connect
57
 
        <replaceable>IPADDR</replaceable><literal>:</literal
 
59
        <replaceable>ADDRESS</replaceable><literal>:</literal
58
60
        ><replaceable>PORT</replaceable></option></arg>
59
61
        <arg choice="plain"><option>-c
60
 
        <replaceable>IPADDR</replaceable><literal>:</literal
 
62
        <replaceable>ADDRESS</replaceable><literal>:</literal
61
63
        ><replaceable>PORT</replaceable></option></arg>
62
64
      </group>
63
65
      <sbr/>
64
66
      <group>
65
 
        <arg choice="plain"><option>--keydir
66
 
        <replaceable>DIRECTORY</replaceable></option></arg>
67
 
        <arg choice="plain"><option>-d
68
 
        <replaceable>DIRECTORY</replaceable></option></arg>
69
 
      </group>
70
 
      <sbr/>
71
 
      <group>
72
67
        <arg choice="plain"><option>--interface
73
68
        <replaceable>NAME</replaceable></option></arg>
74
69
        <arg choice="plain"><option>-i
98
93
      </arg>
99
94
      <sbr/>
100
95
      <arg>
 
96
        <option>--delay <replaceable>SECONDS</replaceable></option>
 
97
      </arg>
 
98
      <sbr/>
 
99
      <arg>
101
100
        <option>--debug</option>
102
101
      </arg>
103
102
    </cmdsynopsis>
120
119
      </group>
121
120
    </cmdsynopsis>
122
121
  </refsynopsisdiv>
123
 
 
 
122
  
124
123
  <refsect1 id="description">
125
124
    <title>DESCRIPTION</title>
126
125
    <para>
131
130
      network connectivity, Zeroconf to find servers, and TLS with an
132
131
      OpenPGP key to ensure authenticity and confidentiality.  It
133
132
      keeps running, trying all servers on the network, until it
134
 
      receives a satisfactory reply or a TERM signal is recieved.
 
133
      receives a satisfactory reply or a TERM signal is received.
135
134
    </para>
136
135
    <para>
137
136
      This program is not meant to be run directly; it is really meant
191
190
      </varlistentry>
192
191
      
193
192
      <varlistentry>
194
 
        <term><option>--keydir=<replaceable
195
 
        >DIRECTORY</replaceable></option></term>
196
 
        <term><option>-d
197
 
        <replaceable>DIRECTORY</replaceable></option></term>
198
 
        <listitem>
199
 
          <para>
200
 
            Directory to read the OpenPGP key files
201
 
            <filename>pubkey.txt</filename> and
202
 
            <filename>seckey.txt</filename> from.  The default is
203
 
            <filename>/conf/conf.d/mandos</filename> (in the initial
204
 
            <acronym>RAM</acronym> disk environment).
205
 
          </para>
206
 
        </listitem>
207
 
      </varlistentry>
208
 
 
209
 
      <varlistentry>
210
193
        <term><option>--interface=
211
194
        <replaceable>NAME</replaceable></option></term>
212
195
        <term><option>-i
232
215
        <replaceable>FILE</replaceable></option></term>
233
216
        <listitem>
234
217
          <para>
235
 
            OpenPGP public key file base name.  This will be combined
236
 
            with the directory from the <option>--keydir</option>
237
 
            option to form an absolute file name.  The default name is
238
 
            <quote><literal>pubkey.txt</literal></quote>.
 
218
            OpenPGP public key file name.  The default name is
 
219
            <quote><filename>/conf/conf.d/mandos/pubkey.txt</filename
 
220
            ></quote>.
239
221
          </para>
240
222
        </listitem>
241
223
      </varlistentry>
242
 
 
 
224
      
243
225
      <varlistentry>
244
226
        <term><option>--seckey=<replaceable
245
227
        >FILE</replaceable></option></term>
247
229
        <replaceable>FILE</replaceable></option></term>
248
230
        <listitem>
249
231
          <para>
250
 
            OpenPGP secret key file base name.  This will be combined
251
 
            with the directory from the <option>--keydir</option>
252
 
            option to form an absolute file name.  The default name is
253
 
            <quote><literal>seckey.txt</literal></quote>.
 
232
            OpenPGP secret key file name.  The default name is
 
233
            <quote><filename>/conf/conf.d/mandos/seckey.txt</filename
 
234
            ></quote>.
254
235
          </para>
255
236
        </listitem>
256
237
      </varlistentry>
263
244
                      xpointer="priority"/>
264
245
        </listitem>
265
246
      </varlistentry>
266
 
 
 
247
      
267
248
      <varlistentry>
268
249
        <term><option>--dh-bits=<replaceable
269
250
        >BITS</replaceable></option></term>
274
255
          </para>
275
256
        </listitem>
276
257
      </varlistentry>
 
258
 
 
259
      <varlistentry>
 
260
        <term><option>--delay=<replaceable
 
261
        >SECONDS</replaceable></option></term>
 
262
        <listitem>
 
263
          <para>
 
264
            After bringing the network interface up, the program waits
 
265
            for the interface to arrive in a <quote>running</quote>
 
266
            state before proceeding.  During this time, the kernel log
 
267
            level will be lowered to reduce clutter on the system
 
268
            console, alleviating any other plugins which might be
 
269
            using the system console.  This option sets the upper
 
270
            limit of seconds to wait.  The default is 2.5 seconds.
 
271
          </para>
 
272
        </listitem>
 
273
      </varlistentry>
277
274
      
278
275
      <varlistentry>
279
276
        <term><option>--debug</option></term>
309
306
          </para>
310
307
        </listitem>
311
308
      </varlistentry>
312
 
 
 
309
      
313
310
      <varlistentry>
314
311
        <term><option>--version</option></term>
315
312
        <term><option>-V</option></term>
321
318
      </varlistentry>
322
319
    </variablelist>
323
320
  </refsect1>
324
 
 
 
321
  
325
322
  <refsect1 id="overview">
326
323
    <title>OVERVIEW</title>
327
324
    <xi:include href="../overview.xml"/>
336
333
      <filename>/etc/crypttab</filename>, but it would then be
337
334
      impossible to enter a password for the encrypted root disk at
338
335
      the console, since this program does not read from the console
339
 
      at all.  This is why a separate plugin (<citerefentry>
340
 
      <refentrytitle>password-prompt</refentrytitle>
341
 
      <manvolnum>8mandos</manvolnum></citerefentry>) does that, which
342
 
      will be run in parallell to this one by the plugin runner.
 
336
      at all.  This is why a separate plugin runner (<citerefentry>
 
337
      <refentrytitle>plugin-runner</refentrytitle>
 
338
      <manvolnum>8mandos</manvolnum></citerefentry>) is used to run
 
339
      both this program and others in in parallel,
 
340
      <emphasis>one</emphasis> of which will prompt for passwords on
 
341
      the system console.
343
342
    </para>
344
343
  </refsect1>
345
344
  
352
351
      program will exit with a non-zero exit status only if a critical
353
352
      error occurs.  Otherwise, it will forever connect to new
354
353
      <application>Mandos</application> servers as they appear, trying
355
 
      to get a decryptable password.
 
354
      to get a decryptable password and print it.
356
355
    </para>
357
356
  </refsect1>
358
357
  
366
365
    </para>
367
366
  </refsect1>
368
367
  
369
 
  <refsect1 id="file">
 
368
  <refsect1 id="files">
370
369
    <title>FILES</title>
371
370
    <variablelist>
372
371
      <varlistentry>
391
390
<!--     <para> -->
392
391
<!--     </para> -->
393
392
<!--   </refsect1> -->
394
 
 
 
393
  
395
394
  <refsect1 id="example">
396
395
    <title>EXAMPLE</title>
397
396
    <para>
411
410
    </informalexample>
412
411
    <informalexample>
413
412
      <para>
414
 
        Search for Mandos servers on another interface:
 
413
        Search for Mandos servers (and connect to them) using another
 
414
        interface:
415
415
      </para>
416
416
      <para>
417
417
        <!-- do not wrap this line -->
420
420
    </informalexample>
421
421
    <informalexample>
422
422
      <para>
423
 
        Run in debug mode, and use a custom key directory:
 
423
        Run in debug mode, and use a custom key:
424
424
      </para>
425
425
      <para>
426
 
        <!-- do not wrap this line -->
427
 
        <userinput>&COMMANDNAME; --debug --keydir keydir</userinput>
 
426
 
 
427
<!-- do not wrap this line -->
 
428
<userinput>&COMMANDNAME; --debug --pubkey keydir/pubkey.txt --seckey keydir/seckey.txt</userinput>
 
429
 
428
430
      </para>
429
431
    </informalexample>
430
432
    <informalexample>
431
433
      <para>
432
 
        Run in debug mode, with a custom key directory, and do not use
433
 
        Zeroconf to locate a server; connect directly to the IPv6
434
 
        address <quote><systemitem class="ipaddress"
 
434
        Run in debug mode, with a custom key, and do not use Zeroconf
 
435
        to locate a server; connect directly to the IPv6 address
 
436
        <quote><systemitem class="ipaddress"
435
437
        >2001:db8:f983:bd0b:30de:ae4a:71f2:f672</systemitem></quote>,
436
438
        port 4711, using interface eth2:
437
439
      </para>
438
440
      <para>
439
441
 
440
442
<!-- do not wrap this line -->
441
 
<userinput>&COMMANDNAME; --debug --keydir keydir --connect 2001:db8:f983:bd0b:30de:ae4a:71f2:f672:4711 --interface eth2</userinput>
 
443
<userinput>&COMMANDNAME; --debug --pubkey keydir/pubkey.txt --seckey keydir/seckey.txt --connect 2001:db8:f983:bd0b:30de:ae4a:71f2:f672:4711 --interface eth2</userinput>
442
444
 
443
445
      </para>
444
446
    </informalexample>
445
447
  </refsect1>
446
 
 
 
448
  
447
449
  <refsect1 id="security">
448
450
    <title>SECURITY</title>
449
451
    <para>
469
471
      The only remaining weak point is that someone with physical
470
472
      access to the client hard drive might turn off the client
471
473
      computer, read the OpenPGP keys directly from the hard drive,
472
 
      and communicate with the server.  The defense against this is
473
 
      that the server is supposed to notice the client disappearing
474
 
      and will stop giving out the encrypted data.  Therefore, it is
475
 
      important to set the timeout and checker interval values tightly
476
 
      on the server.  See <citerefentry><refentrytitle
 
474
      and communicate with the server.  To safeguard against this, the
 
475
      server is supposed to notice the client disappearing and stop
 
476
      giving out the encrypted data.  Therefore, it is important to
 
477
      set the timeout and checker interval values tightly on the
 
478
      server.  See <citerefentry><refentrytitle
477
479
      >mandos</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
478
480
    </para>
479
481
    <para>
490
492
      confidential.
491
493
    </para>
492
494
  </refsect1>
493
 
 
 
495
  
494
496
  <refsect1 id="see_also">
495
497
    <title>SEE ALSO</title>
496
498
    <para>
621
623
      </varlistentry>
622
624
    </variablelist>
623
625
  </refsect1>
624
 
 
625
626
</refentry>
 
627
 
626
628
<!-- Local Variables: -->
627
629
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
628
630
<!-- time-stamp-end: "[\"']>" -->