TCScript

TCScript ist ein Skript zur Automatisierung und Vereinfachung des Verschlüsselungsprogramms TrueCrypt für die Konsole. Das Skript kann TrueCrypt-Laufwerke ein- und aushängen und dabei Fehler erkennen. Es kann u.a. benutzt werden, um ein TrueCrypt-Laufwerk automatisch nach dem Booten einzuhängen. Dabei ist die Verwendung eines Keyfile unabdingbar. Dieses kann und sollte sich auf einem externen Medium, wie z.B. USB-Stick oder SD-Karte befinden, um eine Authentisierung über Besitz zu ermöglichen. Des Weiteren ist es möglich das Skript in Verbindung mit Zenity zu benutzen. Dabei werden grafische (GTK+) Dialoge angezeigt, anstatt textbasierter Konsolenausgaben. Es gibt 2 Versionen von TCScript: Eine für Linux und eine für Windows. In der Windows Version ist es möglich, das Skript über Kontextmenü-Einträge zu steuern. Dazu gibt es während der Installation über ein Setup einige Optionen.

Wichtig: TrueCrypt wird unbedingt benötigt! Die Verwendung von Zenity ist nicht zwingend erforderlich, jedoch sind grafische Dialoge ohne nicht möglich!

Linux Version

Installation

Falls das Repository von PM Code Works im Paketmanager eingebunden ist, genügt es diesem die Installation des Pakets "tcscript" mit folgendem Befehl anzuordnen:

~# apt-get install tcscript

Alternativ kann die Installation selbstverständlich auch mit einem grafischen Paketmanager, wie z.B. synaptic, durchgeführt werden. Falls das Repository von PM Code Works noch nicht von einem Paketmanager eingebunden wurde, gibt es eine Anleitung unter Linux Repository.

Eine selbst-kompilierte TrueCrypt 7.1a Version kann hier heruntergeladen werden (amd64, i386) oder über das Repository mit folgendem Befehl installiert werden:

~# apt-get install truecrypt

Zenity kann mittels folgendem Befehl aus den offiziellen Paketquellen installiert werden:~# apt-get install zenity

Konfiguration

Konfiguriert wird TCScript über die Konfigurationsdatei /etc/tcscript.conf. Darin gibt es Konfigurationsmöglichkeiten, die im Folgenden erläutert werden:

  • MOUNTDEVICE
    Diese Variable muss den vollständigen Pfad zum Verschlüsselten TrueCrypt-Laufwerk (Partition) beinhalten. Dieser kann z.B. /dev/disk/by-id/ata-HERSTELLER_MODELL_A0B1C2D3E4F5-part2lauten.
  • MOUNTPATH
    Diese Variable muss den Pfad zum Verzeichnis enthalten, wohin das Laufwerk eingehangen wird. In Debian/Ubuntu wird meistens das Verzeichnis /media dafür verwendet. Der Pfad könnte somit z.B. /media/Safe lauten. Wichtig ist hierbei, dass dieser Pfad existieren muss.

  • TOKENDEVICE
    Diese Variable muss den vollständigen Pfad zu dem Gerät beinhalten, auf dem das Keyfile gespeichert ist (Token). Empfohlen wird ein externes Medium, z.B. ein USB-Stick oder SD-Karte. TCScript hängt dieses Gerät automatisch mit ein. Der Pfad sieht ähnlich wie bei MOUNTDEVICE aus.

  • TOKENPATH
    Diese Variable muss den Pfad zum Verzeichnis enthalten, wohin das Token eingehangen werden soll. Der Pfad sieht ähnlich wie bei MOUNTPATH aus.

  • KEYFILE
    Diese Variable muss den vollständigen Pfad zum verwendeten Keyfile beinhalten. Dieses Keyfile wird von TrueCrypt während der Erstellung eines verschlüsselten Laufwerks erstellt. Empfohlener Speicherort für dieses ist ein externes Medium, z.B. USB-Stick oder SD-Karte. Dieser Pfad kann beispielsweise /media/SDCard/keyfile lauten.

  • USERNAME
    Diese Variable muss den Benutzer enthalten, unter dessen Name das TrueCrypt-Laufwerk eingehangen werden soll. Hinweis: Wird nur benötigt, falls eine automatische Einhängung durch den /etc/init.d/tcscript Dienst beim Booten aktiviert wird.
    • Automatische Einhängung beim Booten aktivieren:
      ~# update-rc.d tcscript defaults
    • deaktivieren:
      ~# update-rc.d tcscript remove
  • LOGGING
    Diese optionale Variable kann die interne Log-Funktion ein- (0) oder abschalten (1). Geloggt werden können Fehler-, Informations- oder Debug-Ausgaben. Diese Informationen können in seperate Dateien geschrieben werden.
    • ERRORLOG
      Datei für die Fehlerausgaben

    • INFOLOG
      Datei für Informationsausgaben

    • DEBUGLOG
      Datei für Debug-Ausgaben. Wird nur benutzt, falls die Option --debug gesetzt wurde.

Wurden diese Variablen nach den eigenen Bedürfnissen angepasst, ist die Konfiguration von TCScript abgeschlossen.

TrueCrypt benötigt Root-Rechte. Um das Einhängen als normaler Benutzer möglich zu machen, bedarf es einer kleinen Änderung an der sudoers-Datei (Paket "sudo" muss installiert sein). Als Root folgenden Befehl ausführen:

~# visudo

Unter der Zeile:

root      ALL=(ALL) ALL

folgende Zeile ergänzen und anpassen:

Benutzer  ALL=(ALL) NOPASSWD: /usr/bin/truecrypt

Anschließend speichern und beenden.

Befehle

Ein TrueCrypt-Laufwerk wird mit folgendem Befehl eingehangen:

~$ tcscript --mount

Ist das Laufwerk bereits eingehangen, wird ein Fehler geworfen.  Ausgehangen wird ein TrueCrypt-Laufwerk wird mit folgendem Befehl:

~$ tcscript --dismount

Ist das Laufwerk bereits ausgehangen, wird ein Fehler geworfen. Folgender Befehl kann benutzt werden, um immer die richtige Aktion automatisch zu wählen:

~$ tcscript --auto

Mit dem folgenden Befehl kann erfragt werden, ob das Laufwerk bereits eingehangen wurde:

~$ tcscript --status

Kombiniert können die Befehl mit:

  • --debug, um detailierte Einzelheiten über den Vorgang anzuzeigen.
  • --interactive, um grafische (GTK+) Dialoge mittels Zenity anzuzeigen.
  • --silent, um bei fehlendem Keyfile keinen Fehler zu werfen.

 

Windows Version

Installation

1.) TrueCrypt 7.1a herunterladen

2.) Zenity herunterladen (optional)

3.) TCScript Windows Setup oder ZIP-Archiv (Hinweis: Archiv muss im TrueCrypt-Installationsverzeichnis entpackt werden!)

Konfiguration

Konfiguriert wird TCScript über die konfigurationsdatei tcscript.conf.cmd im TrueCrypt-Insatallationsverzeichnis (z.B. C:\Program Files\TrueCrypt\). Es wird empfohlen dieses Verzeichnis in die Windows-Variable PATH anzuhängen. In der Datei gibt es Konfigurationsmöglichkeiten, die im Folgenden erläutert werden:

  • MOUNTDEVICE
    Diese Variable muss den vollständigen Pfad zum Verschlüsselten TrueCrypt-Laufwerk (Partition) beinhalten. Dieser kann z.B. \Device\Harddisk0\Partition2 lauten.

  • MOUNTPATH
    Diese Variable muss das Wurzelverzeichnis enthalten, wohin das Laufwerk eingehangen wird. Möglich sind alle Buchstaben des ABCs, ausgenommen C, da dort Windows standardmäßig die Systempartition einhängt. Wichtig ist hier, dass der Buchstabe als Großbuchstaben geschrieben und von einem ":\" gefolgt wird.

  • KEYFILE
    Diese Variable muss den vollständigen Pfad zum verwendeten Keyfile beinhalten. Dieses Keyfile wird von TrueCrypt während der Erstellung eines verschlüsselten Laufwerks erstellt. Empfohlener Speicherort für dieses ist ein externes Medium, z.B. USB-Stick oder SD-Karte. Dieser Pfad kann beispielsweise X:\keyfile lauten.

Wurden diese Variablen nach den eigenen Bedürfnissen angepasst, ist die Konfiguration von TCScript abgeschlossen.

Befehle

Ein TrueCrypt-Laufwerk wird dann mit folgendem Befehl eingehangen:

tcscript /mount

Ist das Laufwerk bereits eingehangen, wird ein Fehler geworfen. Ausgehangen wird ein TrueCrypt-Laufwerk wird mit folgendem Befehl:

tcscript /dismount

Ist das Laufwerk bereits ausgehangen, wird auch ein Fehler geworfen. Folgender Befehl kann benutzt werden, um immer die richtige Aktion automatisch zu wählen:

tcscript /auto

Mit dem folgenden Befehl kann erfragt werden, ob das Laufwerk bereits eingehangen wurde:

tcscript /status

Kombiniert können die Befehl mit:

  • /debug, um detailierte Einzelheiten über den Vorgang anzuzeigen.
  • /interactive, um grafische (GTK+) Dialoge mittels Zenity anzuzeigen.
  • /silent, um bei fehlendem Keyfile keinen Fehler zu werfen.

Lizenz

TCScript wurde unter der D-FSL-Lizenz veröffentlicht und ist somit Open-Source.

Aktueller Entwicklungsstand

Wer einen Blick auf den aktuellsten Entwicklungsstand werfen oder gar mitarbeiten will, kann das Repository auf GitHub besuchen.