| 1 | ******************************************** |
|---|
| 2 | * CryptoBox v0.3.xx * |
|---|
| 3 | ******************************************** |
|---|
| 4 | |
|---|
| 5 | $Id$ |
|---|
| 6 | |
|---|
| 7 | This file describes the webserver CryptoBox. |
|---|
| 8 | The CryptoBox enables you to control the plaintext or encrypted harddisks of |
|---|
| 9 | your server via a webinterface. |
|---|
| 10 | Read on if you want to install the CryptoBox-server package on your computer. |
|---|
| 11 | |
|---|
| 12 | For more information, see the website: |
|---|
| 13 | http://cryptobox.org |
|---|
| 14 | |
|---|
| 15 | Table of contents: |
|---|
| 16 | 1) Requirements |
|---|
| 17 | 2) Installation |
|---|
| 18 | 3) Setup |
|---|
| 19 | 4) Usage |
|---|
| 20 | 5) Data access |
|---|
| 21 | 6) Development |
|---|
| 22 | 7) Acknowledgements |
|---|
| 23 | 8) Licence |
|---|
| 24 | |
|---|
| 25 | -------------------------------------------- |
|---|
| 26 | |
|---|
| 27 | 1) Requirements |
|---|
| 28 | - Linux 2.6 |
|---|
| 29 | - super (to selectively gain root privileges) |
|---|
| 30 | - Python 2.4 |
|---|
| 31 | - some python packages: |
|---|
| 32 | clearsilver 0.10 for python |
|---|
| 33 | python-configobj 4.x |
|---|
| 34 | cherrypy 2.x |
|---|
| 35 | |
|---|
| 36 | |
|---|
| 37 | 2) Installation |
|---|
| 38 | For Debian, Ubuntu and other derivates you should use the debian package: |
|---|
| 39 | see http://systemausfall.org/toolforge/debian/ |
|---|
| 40 | |
|---|
| 41 | Please follow the /usr/share/doc/cryptobox-server/README.Debian for |
|---|
| 42 | any special steps regarding Debian. |
|---|
| 43 | |
|---|
| 44 | There are currently no official rpm or other packages of the CryptoBox. |
|---|
| 45 | Use the source installation on non-deb based distributions. |
|---|
| 46 | |
|---|
| 47 | For source installation follow these steps: |
|---|
| 48 | Get the source: |
|---|
| 49 | http://cryptobox.org/download |
|---|
| 50 | |
|---|
| 51 | Extract tarball and change to the new directory: |
|---|
| 52 | tar xzf cryptobox-0.?.?.tar.gz |
|---|
| 53 | |
|---|
| 54 | Install the program: |
|---|
| 55 | python setup.by install |
|---|
| 56 | |
|---|
| 57 | Fulfil the requirements: |
|---|
| 58 | read more in the user documentation |
|---|
| 59 | |
|---|
| 60 | The installed pyhton modules can be found in your local python installation directory. |
|---|
| 61 | The default location should be: |
|---|
| 62 | /usr/lib/python2.4/site-packages/cryptobox/ |
|---|
| 63 | The data files are (by default) installed to: |
|---|
| 64 | /usr/share/cryptobox-server/ |
|---|
| 65 | |
|---|
| 66 | As some actions of the cryptobox require root privileges, you have to add the |
|---|
| 67 | following line to /etc/super.tab: |
|---|
| 68 | CryptoBoxRootActions /usr/bin/CryptoBoxRootActions cryptobox |
|---|
| 69 | The script /usr/bin/CryptoBoxRootActions is used to execute all actions |
|---|
| 70 | requiring root privileges. Please check it to make sure, that your system will |
|---|
| 71 | not get compromised. |
|---|
| 72 | |
|---|
| 73 | |
|---|
| 74 | 3) Setup |
|---|
| 75 | |
|---|
| 76 | a) Start at bootup |
|---|
| 77 | Set NO_START in /etc/default/cryptobox-server to "0". |
|---|
| 78 | The CryptoBox webserver will get started by its runlevel control script |
|---|
| 79 | after bootup. |
|---|
| 80 | |
|---|
| 81 | b) Define managed devices |
|---|
| 82 | You may restrict which blockdevices should be accessible to the CryptoBox. |
|---|
| 83 | Simply set [Main]->AllowedDevices in /etc/cryptobox-server/cryptobox.conf |
|---|
| 84 | to a comma separated list of device prefixes: e.g. /dev/sd gives access to |
|---|
| 85 | all SCSI devices, while /dev/hda3 restricts it to this single partition. |
|---|
| 86 | The user executing the webserver (by default: 'cryptobox') must have write |
|---|
| 87 | access to these devices. Usually the cryptobox user is member of the 'disk' |
|---|
| 88 | group. This gives control over most devices. |
|---|
| 89 | Be careful with this setting, as you may expose important data to public |
|---|
| 90 | read and write access. |
|---|
| 91 | |
|---|
| 92 | c) Listening port and interface |
|---|
| 93 | By default, the CryptoBox webserver listens to tcp port 8080 on all network |
|---|
| 94 | interfaces. You can change this setting in /etc/default/cryptobox-server. |
|---|
| 95 | Also take a look at your firewall settings. |
|---|
| 96 | |
|---|
| 97 | d) Disable plugins |
|---|
| 98 | The CryptoBox contains a lot of plugins. As some of them could expose |
|---|
| 99 | unwanted features to your users, you should carefully select which plugins |
|---|
| 100 | to disable. |
|---|
| 101 | Quite likely candidates for disabling are: |
|---|
| 102 | - shutdown: poweroff or reboot the computer |
|---|
| 103 | - network: change IP, gateway or dns settings of the server |
|---|
| 104 | - partition: partition blockdevices |
|---|
| 105 | - volume_format_fs: format a disk/partition (plaintext/encrypted) |
|---|
| 106 | Take a look at /usr/share/cryptobox-server/plugins for the list of |
|---|
| 107 | other plugins. |
|---|
| 108 | The setting [Main]->DisabledPlugins in /etc/cryptobox-server/cryptobox.conf |
|---|
| 109 | is a comma separated list of plugin names. Capitalization is important! |
|---|
| 110 | |
|---|
| 111 | e) Separate configuration partition |
|---|
| 112 | The CryptoBox webserver requires a writeable directory for proper |
|---|
| 113 | operation. If your root filesystem is not writeable (e.g. booting from a |
|---|
| 114 | cdrom, read-only mounted flash memory, ...) you may use a seperated |
|---|
| 115 | partition to store runtime settings. The CryptoBox will automatically |
|---|
| 116 | creates it, when you use partition one of your disks with its interface. |
|---|
| 117 | The setting [Main]->UseConfigPartition (see |
|---|
| 118 | /etc/cryptobox-server/cryptobox.conf) defines, whether you want to use a |
|---|
| 119 | separate partition (value "1") or if you want to store your runtime |
|---|
| 120 | settings in the root filesystem (typically below |
|---|
| 121 | /var/cache/cryptobox-server). |
|---|
| 122 | |
|---|
| 123 | f) Samba/WebDAV/NFS/??? integration (aka. event script handling) |
|---|
| 124 | The CryptoBox allows you to add event handling scripts for most of the |
|---|
| 125 | interesting events: bootup/shutdown of the webserver and mount/umount |
|---|
| 126 | of single volumes. |
|---|
| 127 | If you want to automatically publish your mounted volumes with samba |
|---|
| 128 | or similar fileservers, then you should take a closer look at the |
|---|
| 129 | example scripts for samba and apache-webdav in |
|---|
| 130 | /usr/share/doc/cryptobox-server/event-scripts. |
|---|
| 131 | You may also just publish the mount directory of the CryptoBox. This |
|---|
| 132 | will expose all mounted volumes very easily. Review the configuration |
|---|
| 133 | file for the setting [Locations]->MountParentDir. |
|---|
| 134 | |
|---|
| 135 | g) Take a close look at the configuration file to check all other options |
|---|
| 136 | before you start the CryptoBox webserver. |
|---|
| 137 | |
|---|
| 138 | |
|---|
| 139 | 4) Usage |
|---|
| 140 | Use your favourite web browser to go to http://localhost:8080 and browse the |
|---|
| 141 | webinterface of the CryptoBox. |
|---|
| 142 | Some parts of the interface are restricted to administrative access. The |
|---|
| 143 | default access combination is the user 'admin' and the password 'admin'. Please |
|---|
| 144 | change this setting immediately. |
|---|
| 145 | The plugin 'user_manager' allows you to add users and to change passwords. |
|---|
| 146 | The plugin 'plugin_manager' lets you configure, which plugins require |
|---|
| 147 | administrative authentication. |
|---|
| 148 | |
|---|
| 149 | |
|---|
| 150 | 5) Data access |
|---|
| 151 | Before you can access your plaintext or encrypted data on a volume, you have to |
|---|
| 152 | open it. To accomplish this, you have to go to the webinterface, select the |
|---|
| 153 | appropriate volume and click on "Open volume" in the "Activation" tab. |
|---|
| 154 | |
|---|
| 155 | If you are running the CryptoBox locally, then you can access all open volumes |
|---|
| 156 | below the 'MountDir' as specified in the configuration file |
|---|
| 157 | (/etc/cryptobox-server/cryptobox.conf). The default mount location is |
|---|
| 158 | /var/cache/cryptobox/mnt. |
|---|
| 159 | |
|---|
| 160 | If the CryptoBox package is running on a networking server, then you have to |
|---|
| 161 | configure your favourite fileserver (e.g. samba, webdav, nfs, ftp, ...) to |
|---|
| 162 | publish the subdirectories of the 'MountDir' (see above). |
|---|
| 163 | If you want to customize the publishing of volumes, then you may use the |
|---|
| 164 | event script feature fo the CryptoBox. See event-scripts/README for details. |
|---|
| 165 | |
|---|
| 166 | |
|---|
| 167 | 6) Development |
|---|
| 168 | bug reports: please use our issue tracker |
|---|
| 169 | https://systemausfall.org/trac/cryptobox/newticket |
|---|
| 170 | |
|---|
| 171 | email: |
|---|
| 172 | info@cryptobox.org |
|---|
| 173 | |
|---|
| 174 | The CryptoBox project is mainly driven by sense.lab (http://senselab.org). |
|---|
| 175 | |
|---|
| 176 | |
|---|
| 177 | 7) Acknowledgements |
|---|
| 178 | Besides the core development team, these people helped a lot: |
|---|
| 179 | Clavdia Horvat, Tadej Brce & Dušan Rebolj - Slovenian translation |
|---|
| 180 | rike - French translation |
|---|
| 181 | Fabrizio Tarizzo - Italian translation |
|---|
| 182 | kinneko - Japanese translation |
|---|
| 183 | Andrzej S. Kaznowski - Polish translation |
|---|
| 184 | Fadrique - Spanish translation |
|---|
| 185 | Michiel van Dijk - Dutch translation |
|---|
| 186 | Raimar - the blender dragon |
|---|
| 187 | Gilles Accad - French translation |
|---|
| 188 | ASpr - Russian translation |
|---|
| 189 | |
|---|
| 190 | We also want to thank the numerous developers of the Free Software, the |
|---|
| 191 | CryptoBox depends on and that was used in development. |
|---|
| 192 | |
|---|
| 193 | |
|---|
| 194 | 8) License |
|---|
| 195 | The code is licensed under the GPL v2.0 or above. |
|---|
| 196 | The documentation and all graphics are licenced under "Creative Commons Attribution |
|---|
| 197 | Share-Alike 2.5" (http://creativecommons.org/licenses/by-sa/2.5/). |
|---|
| 198 | See the file 'copyright' for details. |
|---|
| 199 | |
|---|