/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 Makefile

  • Committer: Teddy Hogeborn
  • Date: 2015-03-10 18:03:38 UTC
  • Revision ID: teddy@recompile.se-20150310180338-pcxw6r2qmw9k6br9
Add ":!RSA" to GnuTLS priority string, to disallow non-DHE kx.

If Mandos was somehow made to use a non-ephemeral Diffie-Hellman key
exchange algorithm in the TLS handshake, any saved network traffic
could then be decrypted later if the Mandos client key was obtained.
By default, Mandos uses ephemeral DH key exchanges which does not have
this problem, but a non-ephemeral key exchange algorithm was still
enabled by default.  The simplest solution is to simply turn that off,
which ensures that Mandos will always use ephemeral DH key exchanges.

There is a "PFS" priority string specifier, but we can't use it because:

1. Security-wise, it is a mix between "NORMAL" and "SECURE128" - it
   enables a lot more algorithms than "SECURE256".

2. It is only available since GnuTLS 3.2.4.

Thanks to Andreas Fischer <af@bantuX.org> for reporting this issue.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
OPTIMIZE=-Os -fno-strict-aliasing
27
27
LANGUAGE=-std=gnu99
28
28
htmldir=man
29
 
version=1.6.4
 
29
version=1.6.9
30
30
SED=sed
31
31
 
32
32
USER=$(firstword $(subst :, ,$(shell getent passwd _mandos || getent passwd nobody || echo 65534)))
264
264
        @echo "# ignored.  The messages are caused by not running as root, but   #"
265
265
        @echo "# you should NOT run \"make run-client\" as root unless you also    #"
266
266
        @echo "# unpacked and compiled Mandos as root, which is NOT recommended. #"
267
 
        @echo "# From plugin-runner: setuid: Operation not permitted             #"
 
267
        @echo "# From plugin-runner: setgid: Operation not permitted             #"
 
268
        @echo "#                     setuid: Operation not permitted             #"
268
269
        @echo "# From askpass-fifo:  mkfifo: Permission denied                   #"
269
 
        @echo "# From mandos-client: setuid: Operation not permitted             #"
270
 
        @echo "#                     seteuid: Operation not permitted            #"
271
 
        @echo "#                     klogctl: Operation not permitted            #"
 
270
        @echo "# From mandos-client:                                             #"
 
271
        @echo "#             Failed to raise privileges: Operation not permitted #"
 
272
        @echo "#             Warning: network hook \"*\" exited with status *      #"
272
273
        @echo "###################################################################"
 
274
# We set GNOME_KEYRING_CONTROL to block pam_gnome_keyring
273
275
        ./plugin-runner --plugin-dir=plugins.d \
274
276
                --config-file=plugin-runner.conf \
275
277
                --options-for=mandos-client:--seckey=keydir/seckey.txt,--pubkey=keydir/pubkey.txt,--network-hook-dir=network-hooks.d \
 
278
                --env-for=mandos-client:GNOME_KEYRING_CONTROL= \
276
279
                $(CLIENTARGS)
277
280
 
278
281
# Used by run-client
293
296
        install --directory confdir
294
297
        install --mode=u=rw $< $@
295
298
# Add a client password
296
 
        ./mandos-keygen --dir keydir --password >> $@
 
299
        ./mandos-keygen --dir keydir --password --no-ssh >> $@
297
300
statedir:
298
301
        install --directory statedir
299
302