bzr branch
http://bzr.recompile.se/loggerhead/mandos/trunk
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 |
|
|
472
by Teddy Hogeborn
* INSTALL: Updated. |
7 |
Debian 6.0 "squeeze" or Ubuntu 10.10 "Maverick Meerkat". |
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 |
|
11 |
and that the initrd.img file is automatically made unreadable. The |
|
12 |
server and client programs themselves *could* be run in other |
|
13 |
distributions, but they *are* specific to GNU/Linux systems, and |
|
472
by Teddy Hogeborn
* INSTALL: Updated. |
14 |
are not written with portabillity to other Unixes in mind. |
618
by Teddy Hogeborn
* mandos: Bug fix: Make boolean options work from the config file |
15 |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
16 |
** Libraries |
17 |
|
|
18 |
The following libraries and packages are needed. (It is possible |
|
19 |
that it might work with older versions of some of these, but these |
|
20 |
versions are confirmed to work. Newer versions are almost |
|
21 |
certainly OK.) |
|
22 |
|
|
23 |
*** Documentation |
|
24 |
These are required to build the manual pages for both the server |
|
25 |
and client: |
|
26 |
|
|
27 |
+ DocBook 4.5 http://www.docbook.org/ |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
28 |
Note: DocBook 5.0 is not compatible. |
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
29 |
+ DocBook XSL stylesheets 1.71.0 |
179
by Teddy Hogeborn
* INSTALL: New file. |
30 |
http://wiki.docbook.org/topic/DocBookXslStylesheets |
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
31 |
|
32 |
Package names: |
|
33 |
docbook docbook-xsl |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
34 |
|
35 |
To build just the documentation, run the command "make doc". Then |
|
36 |
the manual page "mandos.8", for example, can be read by running |
|
37 |
"man -l mandos.8". |
|
618
by Teddy Hogeborn
* mandos: Bug fix: Make boolean options work from the config file |
38 |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
39 |
*** Mandos Server |
40 |
+ GnuTLS 2.4 http://www.gnu.org/software/gnutls/ |
|
41 |
+ Avahi 0.6.16 http://www.avahi.org/ |
|
472
by Teddy Hogeborn
* INSTALL: Updated. |
42 |
+ Python 2.6 http://www.python.org/ |
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
43 |
+ Python-GnuTLS 1.1.5 http://pypi.python.org/pypi/python-gnutls/ |
44 |
+ dbus-python 0.82.4 http://dbus.freedesktop.org/doc/dbus-python/ |
|
287
by Teddy Hogeborn
* INSTALL (Prerequisites/Mandos Server): Added "PyGObject". |
45 |
+ PyGObject 2.14.2 http://library.gnome.org/devel/pygobject/ |
472
by Teddy Hogeborn
* INSTALL: Updated. |
46 |
+ Urwid 0.9.8.3 http://excess.org/urwid/ |
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
47 |
|
48 |
Strongly recommended: |
|
49 |
+ fping 2.4b2-to-ipv6 http://www.fping.com/ |
|
708
by Teddy Hogeborn
mandos-keygen: Generate "checker" option to use SSH fingerprints. |
50 |
+ ssh-keyscan from OpenSSH http://www.openssh.com/ |
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
51 |
|
52 |
Package names: |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
53 |
python-gnutls avahi-daemon python python-avahi python-dbus |
708
by Teddy Hogeborn
mandos-keygen: Generate "checker" option to use SSH fingerprints. |
54 |
python-gobject python-urwid ssh-client |
618
by Teddy Hogeborn
* mandos: Bug fix: Make boolean options work from the config file |
55 |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
56 |
*** Mandos Client |
57 |
+ initramfs-tools 0.85i |
|
179
by Teddy Hogeborn
* INSTALL: New file. |
58 |
http://packages.qa.debian.org/i/initramfs-tools.html |
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
59 |
+ GnuTLS 2.4 http://www.gnu.org/software/gnutls/ |
60 |
+ Avahi 0.6.16 http://www.avahi.org/ |
|
61 |
+ GnuPG 1.4.9 http://www.gnupg.org/ |
|
62 |
+ GPGME 1.1.6 http://www.gnupg.org/related_software/gpgme/ |
|
63 |
|
|
708
by Teddy Hogeborn
mandos-keygen: Generate "checker" option to use SSH fingerprints. |
64 |
Strongly recommended: |
65 |
+ OpenSSH http://www.openssh.com/ |
|
66 |
|
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
67 |
Package names: |
68 |
initramfs-tools libgnutls-dev libavahi-core-dev gnupg |
|
708
by Teddy Hogeborn
mandos-keygen: Generate "checker" option to use SSH fingerprints. |
69 |
libgpgme11-dev ssh |
179
by Teddy Hogeborn
* INSTALL: New file. |
70 |
|
71 |
* Installing the Mandos server |
|
72 |
|
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
73 |
1. Do "make doc". |
179
by Teddy Hogeborn
* INSTALL: New file. |
74 |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
75 |
2. On the computer to run as a Mandos server, run the following |
181
by Teddy Hogeborn
* INSTALL: Even better text. |
76 |
command: |
77 |
For Debian: su -c 'make install-server' |
|
78 |
For Ubuntu: sudo make install-server |
|
79 |
|
|
80 |
(This creates a configuration without any clients configured; you |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
81 |
need an actually configured client to do that; see below.) |
179
by Teddy Hogeborn
* INSTALL: New file. |
82 |
|
83 |
* Installing the Mandos client. |
|
84 |
|
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
85 |
1. Do "make all doc". |
86 |
|
|
87 |
2. On the computer to run as a Mandos client, run the following |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
88 |
command: |
89 |
For Debian: su -c 'make install-client' |
|
90 |
For Ubuntu: sudo make install-client |
|
91 |
|
|
92 |
This will also create an OpenPGP key, which will take some time |
|
93 |
and entropy, so be patient. |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
94 |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
95 |
3. Run the following command: |
96 |
For Debian: su -c 'mandos-keygen --password' |
|
97 |
For Ubuntu: sudo mandos-keygen --password |
|
98 |
|
|
99 |
When prompted, enter the password/passphrase for the encrypted |
|
100 |
root file system on this client computer. The command will |
|
101 |
output a section of text, starting with a [section header]. Copy |
|
102 |
and append this to the file "/etc/mandos/clients.conf" *on the |
|
103 |
server computer*. |
|
180
by Teddy Hogeborn
* INSTALL: More text. Better text. |
104 |
|
228
by Teddy Hogeborn
* INSTALL: Add instructions on how to set the correct network |
105 |
4. Configure the client to use the correct network interface. The |
472
by Teddy Hogeborn
* INSTALL: Updated. |
106 |
interface to use is automatically chosen at boot, and if this |
107 |
needs to be adjusted, it will be necessary to edit |
|
108 |
/etc/initramfs-tools/initramfs.conf to change the DEVICE setting |
|
109 |
there. Alternatively, the file /etc/mandos/plugin-runner.conf |
|
110 |
can be edited to add a "--device" parameter for the |
|
111 |
mandos-client(8) plugin. Please note: If any of those files are |
|
112 |
changed, the initrd.img file must be updated, possibly using the |
|
113 |
following command: |
|
228
by Teddy Hogeborn
* INSTALL: Add instructions on how to set the correct network |
114 |
|
115 |
# update-initramfs -k all -u |
|
116 |
|
|
117 |
5. On the server computer, start the server by running the command |
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
118 |
For Debian: su -c 'invoke-rc.d mandos start' |
472
by Teddy Hogeborn
* INSTALL: Updated. |
119 |
For Ubuntu: sudo service mandos start |
181
by Teddy Hogeborn
* INSTALL: Even better text. |
120 |
|
228
by Teddy Hogeborn
* INSTALL: Add instructions on how to set the correct network |
121 |
At this point, it is possible to verify that the correct password |
122 |
will be received by the client by running the command: |
|
123 |
|
|
124 |
# /usr/lib/mandos/plugins.d/mandos-client \ |
|
125 |
--pubkey=/etc/keys/mandos/pubkey.txt \ |
|
126 |
--seckey=/etc/keys/mandos/seckey.txt; echo |
|
127 |
|
|
128 |
This command should retrieve the password from the server, |
|
129 |
decrypt it, and output it to standard output. |
|
130 |
|
|
181
by Teddy Hogeborn
* INSTALL: Even better text. |
131 |
After this, the client computer should be able to reboot without |
132 |
needing a password entered on the console, as long as it does not |
|
133 |
take more than an hour to reboot. |
|
179
by Teddy Hogeborn
* INSTALL: New file. |
134 |
|
135 |
* Further customizations |
|
136 |
|
|
137 |
You may want to tighten or loosen the timeouts in the server |
|
138 |
configuration files; see mandos.conf(5) and mandos-clients.conf(5). |
|
708
by Teddy Hogeborn
mandos-keygen: Generate "checker" option to use SSH fingerprints. |
139 |
If IPsec is not used and SSH is not installed, it is suggested that |
140 |
a more cryptographically secure checker program is used and |
|
141 |
configured, since, without IPsec, ping packets can be faked. |