diff --git a/cbox-tree.d/usr/lib/cryptobox/configure-cryptobox.sh b/cbox-tree.d/usr/lib/cryptobox/configure-cryptobox.sh index 4777a17..328b852 100755 --- a/cbox-tree.d/usr/lib/cryptobox/configure-cryptobox.sh +++ b/cbox-tree.d/usr/lib/cryptobox/configure-cryptobox.sh @@ -1,6 +1,8 @@ #!/bin/sh # # this script is part of the building process of the cryptobox +# the "normal" action is necessary for every cryptobox (development & release) +# the "secure" action is mandatory for every release CD # # called by: # - cbox-build.sh after copying custom files and before creating the iso image @@ -17,6 +19,8 @@ TUNDEV=$RUNTIMEDIR/dev/net/tun SECURITY_REMOVE_PACKAGES="ssh strace unzip tar zip wget nvi nano gzip curl bzip2 aptitude tasksel elinks" DEVEL_REMOVE_PACKAGES="exim4-daemon-light exim4-config exim4-base netkit-inetd telnet ppp pppconfig pppoe pppoeconf" +# remove rc symlinks for these services +SERVICES_OFF="ssh samba setserial nviboot mountnfs ntpdate" function configure_normal() # the usual stuff - not optimized for security @@ -53,6 +57,14 @@ function configure_normal() # remove unnecessary packages - return true, if no packages were # removed dpkg --force-all -P $DEVEL_REMOVE_PACKAGES 2>&1 | grep -v "which isn't installed." || true + + # remove symlinks for unwanted services + for a in $SERVICES_OFF; do + # echo "Turning off service $a ..." + find /etc/rc?.d/ -type l -name "[SK][0-9][0-9]$a" | while read b + do rm "$b" + done + done } diff --git a/cbox-tree.d/usr/lib/cryptobox/devel-features.sh b/cbox-tree.d/usr/lib/cryptobox/devel-features.sh index e9013fd..f20a694 100755 --- a/cbox-tree.d/usr/lib/cryptobox/devel-features.sh +++ b/cbox-tree.d/usr/lib/cryptobox/devel-features.sh @@ -22,9 +22,6 @@ ACTION="--help" case "$ACTION" in start ) - # start ssh daemon - /etc/init.d/ssh start - # copy cryptobox files to tmpfs for a in $WRITE_DIRS do mkdir -p "$MIRROR_DIR/$a" @@ -35,6 +32,9 @@ case "$ACTION" in # thttpd needs to be restarted to reopen its files /etc/init.d/thttpd restart + + # start ssh daemon + /etc/init.d/ssh start ;; set_diff_base ) # the present content of the tmpfs mirror get copied to diff --git a/cbox-tree.d/usr/share/doc/cryptobox/html/CryptoBox.html b/cbox-tree.d/usr/share/doc/cryptobox/html/CryptoBox.html index 10cd8e3..157360c 100644 --- a/cbox-tree.d/usr/share/doc/cryptobox/html/CryptoBox.html +++ b/cbox-tree.d/usr/share/doc/cryptobox/html/CryptoBox.html @@ -1,6 +1,6 @@ -
Die CryptoBox ist eine Live-CD mit der sich jeder alte Rechner in Sekundenschnelle in einen verschlüsselnden Server umwandeln lässt. Damit kannst du sensible Daten speichern, ohne dass du etwas über Kryptografie wissen musst.
+Die CryptoBox ist eine Live-CD mit der sich jeder alte Rechner in Sekundenschnelle in einen verschlüsselnden Server umwandeln lässt. Damit kannst du sensible Daten speichern, ohne dass du etwas über Kryptografie wissen musst.
Das CryptoBoxKonzept beschreibt die technischen Feinheiten etwas näher.
+Das CryptoBoxKonzept beschreibt die technischen Feinheiten etwas näher.
Diese Schritte werden automatisiert durch ein Skript ausgeführt und können beliebig angepasst werden.
-Ausführlichere Infos gibt's unter CryptoBoxDev.
+Ausführlichere Infos gibt's unter CryptoBoxDev.
Eine CryptoBox CD wird in wenigen Schritten erstellt. Die Basisarbeit erledigt 'dfsbuild' und die genaue Konfiguration macht 'cbox-build'.
+Eine CryptoBox CD wird in wenigen Schritten erstellt. Die Basisarbeit erledigt 'dfsbuild' und die genaue Konfiguration macht 'cbox-build'.
Das Linux Grundsystem für die CryptoBox CD wird mit dfsbuild gebaut. Das ist ein Programm, welches eine Debian Live-CD erzeugt.
- (Wir entwickeln die CryptoBox bisher auf Debian/Linux-Systemen. Prinzipiell dürfte es auch mit deiner Lieblingsdistro funktionieren, nur der anfängliche Einrichtungsaufwand wird dadurch größer.)
Das Linux Grundsystem für die CryptoBox CD wird mit dfsbuild gebaut. Das ist ein Programm, welches eine Debian Live-CD erzeugt.
+ (Wir entwickeln die CryptoBox bisher auf Debian/Linux-Systemen. Prinzipiell dürfte es auch mit deiner Lieblingsdistro funktionieren, nur der anfängliche Einrichtungsaufwand wird dadurch größer.)
Für "dfsbuild" bietet sich apt-cacher an. Damit brauchst du nicht für jeden Bau des Grundsystems alle Debian-Pakete erneut herunter laden.
Installation:
Die wichtige Kleinarbeit, damit aus dem dfsbuild-System eine CryptoBox wird, erledigt cbox-build.sh.
+
Die wichtige Kleinarbeit, damit aus dem dfsbuild-System eine CryptoBox wird, erledigt cbox-build.sh.
Das Script und die bestehenden Konfigurationsdateien liegen im cryptobox-Repository.
Mit diesem Script baust du deine eigene CryptoBox-CD. Hier ein verkürzter Überblick:
+Mit diesem Script baust du deine eigene CryptoBox-CD. Hier ein verkürzter Überblick:
Das kannst mehrere Aktionen nacheinander als Parameter angeben.
-Weitere Aktionen, die die Entwicklung erleichtern, werden unter CryptoBoxDevFeatures beschrieben.
+Weitere Aktionen, die die Entwicklung erleichtern, werden unter CryptoBoxDevFeatures beschrieben.
Das fertige iso-Image findest du unter _builddir/cd1/cryptobox.iso.
Der Kernel für die CryptoBox wird statisch kompiliert. Wenn du ihn selbst bauen/verändern willst, dann am einfachsten so:
+Der Kernel für die CryptoBox wird statisch kompiliert. Wenn du ihn selbst bauen/verändern willst, dann am einfachsten so:
apt-get install kernel-tree-2.6.8
schnapp dir /boot/config-2.6.8 von einer gebauten CryptoBox CD und verändere sie nach deinen Wünschen
+schnapp dir /boot/config-2.6.8 von einer gebauten CryptoBox CD und verändere sie nach deinen Wünschen
zum Erstellen des Debian-Pakets: make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image
Erstellung einer lokalen Arbeitskopie des Entwickler-Repositories: svn checkout https://svn.systemausfall.org/svn/cryptobox deincryptoboxverzeichnis
-Deine Änderungen an der CryptoBox klannst du per svn commit in unser Repository übertragen. Dazu musst du, aber vorher Schreibrechte erhalten (die wir gerne vergeben).
+Deine Änderungen an der CryptoBox klannst du per svn commit in unser Repository übertragen. Dazu musst du, aber vorher Schreibrechte erhalten (die wir gerne vergeben).
This is a first overview of the CryptoBox Live-CD. We apologize for publishing the documentation atm in german only. We started the CryptoBox project for a german speaking association. For now we're deeply into bringing this CD up and running, so we prefer coding than translating docs ;). Sorry!
+Feel free to start a translation in this wiki. Otherwise just be patient a few weeks. (it's 12th of july as i'm writing)
+ +The CryptoBox is a Debian/Linux based live-cd. This CD boots up, starting a secure fileserver. Even non-technical users are able to store their data on its encrypted harddisk. There is no special knowledge about cryptgraphy or servers required at all.
+ +
+ system + |
+
+ Debian/Linux based Live-CD + |
+
+ needed hardware + |
+
+ "outdated" PC (i386 p1-100 32MB RAM minimum) + |
+
+ supported clients + |
++ + | +
+ internal fileserver + |
+
+ samba (Networkshares) + |
+
+ userinterface + |
+
+ fully remote controlled via webbrowser (Perl,https interface) + |
+
+ encryption + |
+
+ AES via device-mapper + |
+
Browse the source code in the CryptoBox-websvn
+ +Read more about the CryptoBox in german or try kind of a babelfish.
+ + + +last edited 2005-07-25 12:50:07 by
+ + + + + diff --git a/cbox-tree.d/usr/share/doc/cryptobox/html/CryptoBoxKonzept.html b/cbox-tree.d/usr/share/doc/cryptobox/html/CryptoBoxKonzept.html new file mode 100644 index 0000000..7e2d949 --- /dev/null +++ b/cbox-tree.d/usr/share/doc/cryptobox/html/CryptoBoxKonzept.html @@ -0,0 +1,342 @@ + + ++
+ +
Daten sind in ausgeschaltetem Zustand geschützt
+Netz gilt als relativ begrenzt und sicher
+kaum Schutz vor Hackern im lokalen Netz
+Schutz vor Einbrechern/Hausdurchsuchung
+einfache Hardware genuegt (ab 586)
+eine grosse Festplatte
+(un)mounten ueber einfaches web-interface (mit ssl)
+anwenderfreundlich
+untechnische Gruppen mit gesunder Paranoia
+keine Vorkenntnisse über Server und Kryptografie notwendig
+für Einzelpersonen wegen Energiebedarf wohl eher ungeeignet
+alle dürfen es nutzen - Support nur für die Guten
+Live-CD + einfache Benutzeranleitung (för ölle)
+komplette Entwicklungsdokumentation (för säminörds)
+Verweis auf die man-page von dmsetup (för nörds)
++ +
Aufgaben:
+(un)mounten
+MAC-Liste setzen
+Ausschalt-Knopf
+Neu-Initialisierung einer Datenfestplatte
+Durchführung eines Backups
+tar durch ccrypt schicken mit einem per webinterface eingetippten Passwort
+eventuell Datei splitten falls größer als [hier beliebige Schwelle einsetzen, z.B.: 650MB]
+Ergebnisse sind über samba erreichbar
+gast-Freigabe ohne Passwort
+Druckerdienst (zumindest braucht lobbi das)
+das is aber nich originol
+alle Clients bekommen Zertifikate
+die CA liegt auf der crypto-partition
+per webinterface koennen neue Zertifikate erzeugt werden
+fuehlt sich komisch an, muss aber wohl sein - Alternativen? [l]
+http und samba gibt es nur mit einem korrekten Zertifikat der CA
+racoon als Schluesselserver
+Vorteile:
+Verschluesselung fuer alle Dienste ohne basteln
+wird von Windows unterstuetzt
+Nachteile:
+für die Labor-wlan-Verbindung war es nicht brauchbar - mystische Ausfaelle
+stunnel macht den Webserver ssl-faehig
+samba gibt es auch mit ssl - muss aber vielleicht auch nicht
+die MACs der clients müssen freigechaltet werden - iptables
+Kernel ohne Konsole konfigurieren
+Grafikkarte ausbauen
+langfrist
+Tastatur-Port kurzschließen
+timeout von 60 Minuten - danach samba beenden, crypto unmounten und abschalten
+Problem: smb-broadcasting-muell wird staendig hin- und herfliegen ... [l]
+Lösung: herausfinden, welche Ports echten Datenverkehr darstellen
+kein ssh
+root ohne gueltigen Passworteintrag
+eine systempartition (ro)
+eine fette daten partition
+was machen wenn jemand das kennwort geschnappt hat?
+ein Backup der Daten erstellen lassen
+die crypto-Platte neu initialisieren
+das Backup wieder einspielen - im Idealfall natuerlich mit unserem crypto-Backup-Skript
+jeder Schritt der Erstellung wird per Shell-Skript reproduzierbar gemacht
+Ziel: System ohne Unsicherheit, notfalls jedesmal neu bauen lassen
+Nutzerdoku in ein Wiki
+beides in ein svn-repos
+Erkennung der Netzwerk-Hardware
+damit wir keine vorkonfigurierten Komplettrechner ausliefern müssen
+bei Knoppiix abgucken
+Led, die den crypto-Status anzeigt
+externer Abschalter (sanft!) für nicht-atx
+last edited 2005-07-07 17:18:29 by
+ + + + + diff --git a/tools/userdocexport.sh b/tools/userdocexport.sh index 88d5458..d04f729 100755 --- a/tools/userdocexport.sh +++ b/tools/userdocexport.sh @@ -8,15 +8,15 @@ set -u ROOT_DIR="$(dirname $(dirname $0))" # retrieve these pages from the wiki -PAGES="CryptoBox CryptoBoxDev" +PAGES="CryptoBox CryptoBoxDev CryptoBoxKonzept CryptoBoxEn" # the trailing slash is important WIKI_HOST="https://systemausfall.org" WIKI_URL="/wikis/howto/" # the trailing slash is important DEST_PATH="cbox-tree.d/usr/share/doc/cryptobox/html/" TMP_FILE="/tmp/$(basename $0)-$$.out" -# the URL of the CGI of the cryptobox -CBOX_CGI='/cryptobox?action=show_doc&page=' +# the URL of the CGI of the cryptobox (the ampersand must be escaped!) +CBOX_CGI='/cryptobox?action=show_doc\&page=' [ ! -e "$DEST_PATH" ] && echo "$DEST_PATH does not exist" && exit 1 @@ -40,7 +40,7 @@ for PAGE in $PAGES; do # TODO: replace wiki-links by references to the cbox-cgi # check if wiki-links are absolute! echo " replacing wiki links ..." - sed -i "s#"$WIKI_URL#"$CBOX_CGI#g" "$TMP_FILE" + sed -i "s#\"$WIKI_URL#\"$CBOX_CGI#g" "$TMP_FILE" mv "$TMP_FILE" "${DEST_PATH}${PAGE}.html" echo " finished!"