/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 plugins.d/mandos-client.xml

  • Committer: Teddy Hogeborn
  • Date: 2008-10-03 09:32:30 UTC
  • Revision ID: teddy@fukt.bsnet.se-20081003093230-rshn19e0c19zz12i
* .bzrignore (plugins.d/askpass-fifo): Added.

* Makefile (FORTIFY): Added "-fstack-protector-all".
  (mandos, mandos-keygen): Use more strict regexps when updating the
                           version number.

* mandos (Client.__init__): Use os.path.expandvars() and
                            os.path.expanduser() on the "secfile"
                            config value.

* plugins.d/splashy.c: Update comments and order of #include's.
  (main): Check user and group when looking for running splashy
          process.  Do not ignore ENOENT from execl().  Use _exit()
          instead of "return" when an error happens in child
          processes.  Bug fix: Only wait for splashy_update
          completion if it was started.  Bug fix: detect failing
          waitpid().  Only kill splashy_update if it is running.  Do
          the killing of the old splashy process before the fork().
          Do setsid() and setuid(geteuid()) before starting the new
          splashy.  Report failing execl().

* plugins.d/usplash.c: Update comments and order of #include's.
  (main): Check user and group when looking for running usplash
          process.  Do not report execv() error if interrupted by a
          signal.

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 "2008-09-30">
 
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>
36
37
    </copyright>
37
38
    <xi:include href="../legalnotice.xml"/>
38
39
  </refentryinfo>
39
 
 
 
40
  
40
41
  <refmeta>
41
42
    <refentrytitle>&COMMANDNAME;</refentrytitle>
42
43
    <manvolnum>8mandos</manvolnum>
45
46
  <refnamediv>
46
47
    <refname><command>&COMMANDNAME;</command></refname>
47
48
    <refpurpose>
48
 
      Client for mandos
 
49
      Client for <application>Mandos</application>
49
50
    </refpurpose>
50
51
  </refnamediv>
51
 
 
 
52
  
52
53
  <refsynopsisdiv>
53
54
    <cmdsynopsis>
54
55
      <command>&COMMANDNAME;</command>
55
56
      <group>
56
57
        <arg choice="plain"><option>--connect
57
 
        <replaceable>IPADDR</replaceable><literal>:</literal
 
58
        <replaceable>ADDRESS</replaceable><literal>:</literal
58
59
        ><replaceable>PORT</replaceable></option></arg>
59
60
        <arg choice="plain"><option>-c
60
 
        <replaceable>IPADDR</replaceable><literal>:</literal
 
61
        <replaceable>ADDRESS</replaceable><literal>:</literal
61
62
        ><replaceable>PORT</replaceable></option></arg>
62
63
      </group>
63
64
      <sbr/>
64
65
      <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
66
        <arg choice="plain"><option>--interface
73
67
        <replaceable>NAME</replaceable></option></arg>
74
68
        <arg choice="plain"><option>-i
120
114
      </group>
121
115
    </cmdsynopsis>
122
116
  </refsynopsisdiv>
123
 
 
 
117
  
124
118
  <refsect1 id="description">
125
119
    <title>DESCRIPTION</title>
126
120
    <para>
131
125
      network connectivity, Zeroconf to find servers, and TLS with an
132
126
      OpenPGP key to ensure authenticity and confidentiality.  It
133
127
      keeps running, trying all servers on the network, until it
134
 
      receives a satisfactory reply or a TERM signal is recieved.
 
128
      receives a satisfactory reply or a TERM signal is received.
135
129
    </para>
136
130
    <para>
137
131
      This program is not meant to be run directly; it is really meant
191
185
      </varlistentry>
192
186
      
193
187
      <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
188
        <term><option>--interface=
211
189
        <replaceable>NAME</replaceable></option></term>
212
190
        <term><option>-i
232
210
        <replaceable>FILE</replaceable></option></term>
233
211
        <listitem>
234
212
          <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>.
 
213
            OpenPGP public key file name.  The default name is
 
214
            <quote><filename>/conf/conf.d/mandos/pubkey.txt</filename
 
215
            ></quote>.
239
216
          </para>
240
217
        </listitem>
241
218
      </varlistentry>
242
 
 
 
219
      
243
220
      <varlistentry>
244
221
        <term><option>--seckey=<replaceable
245
222
        >FILE</replaceable></option></term>
247
224
        <replaceable>FILE</replaceable></option></term>
248
225
        <listitem>
249
226
          <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>.
 
227
            OpenPGP secret key file name.  The default name is
 
228
            <quote><filename>/conf/conf.d/mandos/seckey.txt</filename
 
229
            ></quote>.
254
230
          </para>
255
231
        </listitem>
256
232
      </varlistentry>
263
239
                      xpointer="priority"/>
264
240
        </listitem>
265
241
      </varlistentry>
266
 
 
 
242
      
267
243
      <varlistentry>
268
244
        <term><option>--dh-bits=<replaceable
269
245
        >BITS</replaceable></option></term>
309
285
          </para>
310
286
        </listitem>
311
287
      </varlistentry>
312
 
 
 
288
      
313
289
      <varlistentry>
314
290
        <term><option>--version</option></term>
315
291
        <term><option>-V</option></term>
321
297
      </varlistentry>
322
298
    </variablelist>
323
299
  </refsect1>
324
 
 
 
300
  
325
301
  <refsect1 id="overview">
326
302
    <title>OVERVIEW</title>
327
303
    <xi:include href="../overview.xml"/>
336
312
      <filename>/etc/crypttab</filename>, but it would then be
337
313
      impossible to enter a password for the encrypted root disk at
338
314
      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.
 
315
      at all.  This is why a separate plugin runner (<citerefentry>
 
316
      <refentrytitle>plugin-runner</refentrytitle>
 
317
      <manvolnum>8mandos</manvolnum></citerefentry>) is used to run
 
318
      both this program and others in in parallel,
 
319
      <emphasis>one</emphasis> of which will prompt for passwords on
 
320
      the system console.
343
321
    </para>
344
322
  </refsect1>
345
323
  
352
330
      program will exit with a non-zero exit status only if a critical
353
331
      error occurs.  Otherwise, it will forever connect to new
354
332
      <application>Mandos</application> servers as they appear, trying
355
 
      to get a decryptable password.
 
333
      to get a decryptable password and print it.
356
334
    </para>
357
335
  </refsect1>
358
336
  
391
369
<!--     <para> -->
392
370
<!--     </para> -->
393
371
<!--   </refsect1> -->
394
 
 
 
372
  
395
373
  <refsect1 id="example">
396
374
    <title>EXAMPLE</title>
397
375
    <para>
411
389
    </informalexample>
412
390
    <informalexample>
413
391
      <para>
414
 
        Search for Mandos servers on another interface:
 
392
        Search for Mandos servers (and connect to them) using another
 
393
        interface:
415
394
      </para>
416
395
      <para>
417
396
        <!-- do not wrap this line -->
420
399
    </informalexample>
421
400
    <informalexample>
422
401
      <para>
423
 
        Run in debug mode, and use a custom key directory:
 
402
        Run in debug mode, and use a custom key:
424
403
      </para>
425
404
      <para>
426
 
        <!-- do not wrap this line -->
427
 
        <userinput>&COMMANDNAME; --debug --keydir keydir</userinput>
 
405
 
 
406
<!-- do not wrap this line -->
 
407
<userinput>&COMMANDNAME; --debug --pubkey keydir/pubkey.txt --seckey keydir/seckey.txt</userinput>
 
408
 
428
409
      </para>
429
410
    </informalexample>
430
411
    <informalexample>
431
412
      <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"
 
413
        Run in debug mode, with a custom key, and do not use Zeroconf
 
414
        to locate a server; connect directly to the IPv6 address
 
415
        <quote><systemitem class="ipaddress"
435
416
        >2001:db8:f983:bd0b:30de:ae4a:71f2:f672</systemitem></quote>,
436
417
        port 4711, using interface eth2:
437
418
      </para>
438
419
      <para>
439
420
 
440
421
<!-- do not wrap this line -->
441
 
<userinput>&COMMANDNAME; --debug --keydir keydir --connect 2001:db8:f983:bd0b:30de:ae4a:71f2:f672:4711 --interface eth2</userinput>
 
422
<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
423
 
443
424
      </para>
444
425
    </informalexample>
445
426
  </refsect1>
446
 
 
 
427
  
447
428
  <refsect1 id="security">
448
429
    <title>SECURITY</title>
449
430
    <para>
469
450
      The only remaining weak point is that someone with physical
470
451
      access to the client hard drive might turn off the client
471
452
      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
 
453
      and communicate with the server.  To safeguard against this, the
 
454
      server is supposed to notice the client disappearing and stop
 
455
      giving out the encrypted data.  Therefore, it is important to
 
456
      set the timeout and checker interval values tightly on the
 
457
      server.  See <citerefentry><refentrytitle
477
458
      >mandos</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
478
459
    </para>
479
460
    <para>
490
471
      confidential.
491
472
    </para>
492
473
  </refsect1>
493
 
 
 
474
  
494
475
  <refsect1 id="see_also">
495
476
    <title>SEE ALSO</title>
496
477
    <para>
621
602
      </varlistentry>
622
603
    </variablelist>
623
604
  </refsect1>
624
 
 
625
605
</refentry>
 
606
 
626
607
<!-- Local Variables: -->
627
608
<!-- time-stamp-start: "<!ENTITY TIMESTAMP [\"']" -->
628
609
<!-- time-stamp-end: "[\"']>" -->