Arc - ein (transportabler) Tresor für Geheimnisse

Datum

Vor kurzem ist ein interessantes Tool durch meine Twitter-Timeline geflogen, welches mich sehr neugierig gemacht hat.
Es handelt sich um das Tool Arc, welches im Grunde eine Mischung aus zerobin und Owncloud ist und folgende Features besitzt:

  • RESTful API Server
  • Vollverschlüsselung sämtlicher dort eingetragener Daten (AES256 Raw Data)
  • Entschlüsselung erst auf Client-Seite
  • geschrieben in Go
  • transportable, da eine sqlite-DB verwendet wird
  • enthält vorgegebene Templates: Textfelder, eigene Uploads (Dateien werden auf Clientseite verschlüsselt bevor sie hochgeladen werden), Markdown Editor, HTML Editor, Passwort-Feld (mit Passwort-Generator und Einschätzung der Passwortstärke), Listen, Bitcoin Wallet Adressen, Manager für Time-based One-time Password Algorithm (TOTP) codes (kann für 2FA verwendet werden)

Github: https://github.com/evilsocket/arc
Entwickler-Blog: https://www.evilsocket.net/2017/12/07/DIY-Portable-Secrets-Manager-with-a-RPI-Zero-and-the-ARC-Project/
Twitter: https://twitter.com/evilsocket

Allgemein gesprochen wird nach dem starten des Daemons (arcd) ein Server gestartet, welcher standardmäßig auf Port 8443 lauscht. Im Vorfeld werden auch die entsprechenden SSL-Zertifikate erstellt (man kann natürlich auch eigene verwenden). Im Anschluss daran kann amn sich entsprechend einloggen und anfangen Daten einzutragen.

Das „transportable“ bezieht sich hierbei auf die Möglichkeit dieses Programm auf z.B. einen Raspberry PI Zero zu installieren, welchen man recht leicht mit sich mitführen kann. Sofern man einen eigenen Server besitzt kann man diesen selbstverständlich auch verwenden.

Installation

per Github & Go:

git clone https://github.com/evilsocket/arc $GOPATH/src/github.com/evilsocket/arc
cd $GOPATH/src/github.com/evilsocket/arc/arcd
make

Es gibt auch Binary-Releases für diverse Betriebssysteme, diese finden sich hier: https://github.com/evilsocket/arc/releases

Konfiguration

Um nun die Konfiguration anzupassen, kopieren wir die Beispiel-Konfiguration und bearbeiten diese im Nachhinein
cp sample_config.json config.json

Um sich einzuloggen wird ein Passwort verwendet, welches sich als SHA256 Hash in der config.json befindet. Um ein eigenes zu erstellen verwendet man:
echo -n "v0ll-g3heimeS-P4SSw0rt" | sha256sum

diesen neuen Hash trägt man unter „password“ ein. Es empfiehlt sich auch den Benutzernamen zu ändern.
Eine Erklärung sämtlicher Parameter findet man auf der Githubseite von arc

Damit der Daemon auch die entsprechende Anwendung findet, kopieren wir uns den arc-Ordner (eine Verzeichnisebene höher) in das gleiche Verzeichnis wie den arc-Daemon (arcd).

Im Grunde kann der Dienst nun auch schon gestartet werden, dies geschieht mit:
./arcd -config config.json -app arc

Weitere Infos, Einstellungen, Konfigurationen, etc. findet man auf den oben erwähnten Seiten.

Autor
Kategorien General, Go

PRTG Map