bzr branch
http://bzr.recompile.se/loggerhead/mandos/release
179
by Teddy Hogeborn
* INSTALL: New file. |
1 |
-*- org -*- |
2 |
||
3 |
* Prerequisites |
|
4 |
|
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
5 |
** Operating System |
6 |
|
|
237.7.349
by Teddy Hogeborn
Stop using python-gnutls. Use GnuTLS 3.3 or later directly. |
7 |
Debian 8.0 "jessie" or Ubuntu 15.10 "Wily Werewolf" (or later). |
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
8 |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
9 |
This is mostly for the support scripts which make sure that the |
10 |
client is installed and started in the initial RAM disk environment |
|
237.7.267
by Teddy Hogeborn
Update non-package install instructions. |
11 |
and that the initial RAM file system image file is automatically |
12 |
made unreadable. The server and client programs themselves *could* |
|
13 |
be run in other distributions, but they *are* specific to GNU/Linux |
|
14 |
systems, and are not written with portabillity to other Unixes in |
|
15 |
mind. |
|
237.7.166
by Teddy Hogeborn
* mandos: Bug fix: Make boolean options work from the config file |
16 |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
17 |
** Libraries |
18 |
|
|
19 |
The following libraries and packages are needed. (It is possible |
|
20 |
that it might work with older versions of some of these, but these |
|
21 |
versions are confirmed to work. Newer versions are almost |
|
22 |
certainly OK.) |
|
23 |
|
|
24 |
*** Documentation |
|
25 |
These are required to build the manual pages for both the server |
|
26 |
and client: |
|
27 |
|
|
28 |
+ DocBook 4.5 http://www.docbook.org/ |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
29 |
Note: DocBook 5.0 is not compatible. |
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
30 |
+ DocBook XSL stylesheets 1.71.0 |
237.7.267
by Teddy Hogeborn
Update non-package install instructions. |
31 |
http://wiki.docbook.org/DocBookXslStylesheets |
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
32 |
|
33 |
Package names: |
|
34 |
docbook docbook-xsl |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
35 |
|
36 |
To build just the documentation, run the command "make doc". Then |
|
37 |
the manual page "mandos.8", for example, can be read by running |
|
38 |
"man -l mandos.8". |
|
237.7.166
by Teddy Hogeborn
* mandos: Bug fix: Make boolean options work from the config file |
39 |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
40 |
*** Mandos Server |
237.7.416
by Teddy Hogeborn
Change all http:// URLs to https:// wherever possible. |
41 |
+ GnuTLS 3.3 https://www.gnutls.org/ |
237.7.510
by Teddy Hogeborn
Add support for using raw public keys in TLS (RFC 7250) |
42 |
(but not 3.6.0 or later, until 3.6.6, which works) |
237.7.669
by Teddy Hogeborn
Change URL for Avahi to use HTTPS |
43 |
+ Avahi 0.6.16 https://www.avahi.org/ |
237.23.1
by Teddy Hogeborn
Require Python 2.7. |
44 |
+ Python 2.7 https://www.python.org/ |
237.7.416
by Teddy Hogeborn
Change all http:// URLs to https:// wherever possible. |
45 |
+ dbus-python 0.82.4 https://dbus.freedesktop.org/doc/dbus-python/ |
237.7.715
by Teddy Hogeborn
Server: Use new GLib.io_add_watch() call signature |
46 |
+ PyGObject 3.8 https://wiki.gnome.org/Projects/PyGObject |
237.7.416
by Teddy Hogeborn
Change all http:// URLs to https:// wherever possible. |
47 |
+ pkg-config https://www.freedesktop.org/wiki/Software/pkg-config/ |
237.7.267
by Teddy Hogeborn
Update non-package install instructions. |
48 |
+ Urwid 1.0.1 http://urwid.org/ |
49 |
(Only needed by the "mandos-monitor" tool.) |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
50 |
|
51 |
Strongly recommended: |
|
237.7.267
by Teddy Hogeborn
Update non-package install instructions. |
52 |
+ fping 2.4b2-to-ipv6 http://www.fping.org/ |
237.7.256
by Teddy Hogeborn
mandos-keygen: Generate "checker" option to use SSH fingerprints. |
53 |
+ ssh-keyscan from OpenSSH http://www.openssh.com/ |
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
54 |
|
55 |
Package names: |
|
237.7.376
by Teddy Hogeborn
Server: Add Python 3 compatibility |
56 |
avahi-daemon python python-dbus python-gi python-urwid pkg-config |
57 |
fping ssh-client |
|
237.7.166
by Teddy Hogeborn
* mandos: Bug fix: Make boolean options work from the config file |
58 |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
59 |
*** Mandos Client |
237.7.662
by Teddy Hogeborn
Stop linking to librt |
60 |
+ GNU C Library 2.17 https://gnu.org/software/libc/ |
237.7.416
by Teddy Hogeborn
Change all http:// URLs to https:// wherever possible. |
61 |
+ GnuTLS 3.3 https://www.gnutls.org/ |
237.7.510
by Teddy Hogeborn
Add support for using raw public keys in TLS (RFC 7250) |
62 |
(but not 3.6.0 or later, until 3.6.6 which works) |
237.7.669
by Teddy Hogeborn
Change URL for Avahi to use HTTPS |
63 |
+ Avahi 0.6.16 https://www.avahi.org/ |
237.7.267
by Teddy Hogeborn
Update non-package install instructions. |
64 |
+ GnuPG 1.4.9 https://www.gnupg.org/ |
65 |
+ GPGME 1.1.6 https://www.gnupg.org/related_software/gpgme/ |
|
237.7.416
by Teddy Hogeborn
Change all http:// URLs to https:// wherever possible. |
66 |
+ pkg-config https://www.freedesktop.org/wiki/Software/pkg-config/ |
237.7.666
by Teddy Hogeborn
Client: Document requirement of libnl-route library |
67 |
+ libnl-route 3 https://www.infradead.org/~tgr/libnl/ |
237.7.675
by Teddy Hogeborn
Add dracut(8) support |
68 |
+ GLib 2.40 http://www.gtk.org/ |
69 |
|
|
70 |
One of: |
|
71 |
+ initramfs-tools 0.85i |
|
72 |
https://tracker.debian.org/pkg/initramfs-tools |
|
73 |
+ dracut 044+241 |
|
74 |
http://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
75 |
|
237.7.256
by Teddy Hogeborn
mandos-keygen: Generate "checker" option to use SSH fingerprints. |
76 |
Strongly recommended: |
237.7.267
by Teddy Hogeborn
Update non-package install instructions. |
77 |
+ OpenSSH http://www.openssh.com/ |
237.7.256
by Teddy Hogeborn
mandos-keygen: Generate "checker" option to use SSH fingerprints. |
78 |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
79 |
Package names: |
237.7.675
by Teddy Hogeborn
Add dracut(8) support |
80 |
initramfs-tools dracut libgnutls-dev gnutls-bin libavahi-core-dev |
81 |
gnupg libgpgme11-dev pkg-config ssh libnl-route-3-dev |
|
82 |
libglib2.0-dev |
|
179
by Teddy Hogeborn
* INSTALL: New file. |
83 |
|
84 |
* Installing the Mandos server |
|
85 |
|
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
86 |
1. Do "make doc". |
179
by Teddy Hogeborn
* INSTALL: New file. |
87 |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
88 |
2. On the computer to run as a Mandos server, run the following |
181
by Teddy Hogeborn
* INSTALL: Even better text. |
89 |
command: |
90 |
For Debian: su -c 'make install-server' |
|
91 |
For Ubuntu: sudo make install-server |
|
92 |
|
|
93 |
(This creates a configuration without any clients configured; you |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
94 |
need an actually configured client to do that; see below.) |
179
by Teddy Hogeborn
* INSTALL: New file. |
95 |
|
96 |
* Installing the Mandos client. |
|
97 |
|
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
98 |
1. Do "make all doc". |
99 |
|
|
100 |
2. On the computer to run as a Mandos client, run the following |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
101 |
command: |
102 |
For Debian: su -c 'make install-client' |
|
103 |
For Ubuntu: sudo make install-client |
|
104 |
|
|
105 |
This will also create an OpenPGP key, which will take some time |
|
106 |
and entropy, so be patient. |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
107 |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
108 |
3. Run the following command: |
109 |
For Debian: su -c 'mandos-keygen --password' |
|
110 |
For Ubuntu: sudo mandos-keygen --password |
|
111 |
|
|
112 |
When prompted, enter the password/passphrase for the encrypted |
|
113 |
root file system on this client computer. The command will |
|
114 |
output a section of text, starting with a [section header]. Copy |
|
115 |
and append this to the file "/etc/mandos/clients.conf" *on the |
|
116 |
server computer*. |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
117 |
|
237.7.267
by Teddy Hogeborn
Update non-package install instructions. |
118 |
4. Configure the client to use any special configuration needed for |
119 |
your local system. Note: This is not necessary if the server is |
|
120 |
present on the same wired local network as the client. If you do |
|
121 |
make changes to /etc/mandos/plugin-runner.conf, the initrd.img |
|
122 |
file must be updated, possibly using the following command: |
|
228
by Teddy Hogeborn
* INSTALL: Add instructions on how to set the correct network |
123 |
|
124 |
# update-initramfs -k all -u |
|
125 |
|
|
126 |
5. On the server computer, start the server by running the command |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
127 |
For Debian: su -c 'invoke-rc.d mandos start' |
237.7.20
by Teddy Hogeborn
* INSTALL: Updated. |
128 |
For Ubuntu: sudo service mandos start |
181
by Teddy Hogeborn
* INSTALL: Even better text. |
129 |
|
228
by Teddy Hogeborn
* INSTALL: Add instructions on how to set the correct network |
130 |
At this point, it is possible to verify that the correct password |
131 |
will be received by the client by running the command: |
|
132 |
|
|
133 |
# /usr/lib/mandos/plugins.d/mandos-client \ |
|
134 |
--pubkey=/etc/keys/mandos/pubkey.txt \ |
|
237.7.510
by Teddy Hogeborn
Add support for using raw public keys in TLS (RFC 7250) |
135 |
--seckey=/etc/keys/mandos/seckey.txt \ |
136 |
--tls-privkey=/etc/keys/mandos/tls-privkey.pem \ |
|
137 |
--tls-pubkey=/etc/keys/mandos/tls-pubkey.pem; echo |
|
228
by Teddy Hogeborn
* INSTALL: Add instructions on how to set the correct network |
138 |
|
139 |
This command should retrieve the password from the server, |
|
140 |
decrypt it, and output it to standard output. |
|
141 |
|
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
142 |
After this, the client computer should be able to reboot without |
143 |
needing a password entered on the console, as long as it does not |
|
237.7.267
by Teddy Hogeborn
Update non-package install instructions. |
144 |
take more than five minutes to reboot. |
179
by Teddy Hogeborn
* INSTALL: New file. |
145 |
|
146 |
* Further customizations |
|
147 |
|
|
148 |
You may want to tighten or loosen the timeouts in the server |
|
149 |
configuration files; see mandos.conf(5) and mandos-clients.conf(5). |
|
237.7.256
by Teddy Hogeborn
mandos-keygen: Generate "checker" option to use SSH fingerprints. |
150 |
If IPsec is not used and SSH is not installed, it is suggested that |
151 |
a more cryptographically secure checker program is used and |
|
152 |
configured, since, without IPsec, ping packets can be faked. |
|
237.7.271
by Teddy Hogeborn
INSTALL: Add org-mode setting to show all text when opening. |
153 |
|
154 |
#+STARTUP: showall |