HQ Dash
Ein Ersatz für die bestehende Tür-Dockstar auf Basis eines Raspberry Pis und mit mehr fancy bling bling!
Aktuell sind als Admins für die SSH-Keys eingetragen:
- myIgel - telegnom
Auf dem Pi bootet ein Alpine-Linux, readonly gemountet von der SD-Karte. Das Script zur Ansteuerung der GIPOs ist ein kleines Python-Script.
Auf dem Pi gibt es drei User, die das Öffnen und Schließen der Tür steuern. Diese sind, wie gehabt, open
, close
und strom
. Weiterhin gibt es einen User zum Deployen der Keys und für Wartungsarbeiten. Dieser ist backdoor
.
Die drei Nutzer open
, close
und strom
teilen sich die UID 2342 und sind in der Gruppe backdoor
. Die User haben jeweils ein für ihre Aufgabe spezifisches Login-Script.
Die Login-Scripte liegen unter /opt/backdoor/
.
Alle Scripte unterhalb dieses Ordners gehören dem Nutzer mit der UID 2342.
Der Nutzer backdoor
hat die UID 1337 und ist ebenfalls in der Gruppe backdoor
. Er dient als Admin-Zugang zur backdoor und verfügt über die nötigen Rechte, die SSH-Keys (aus dem Git-Repo) auf dem Pi zu deployen.
Das Script zum Deployen der SSH-Keys wird mit dem Befehl /opt/backdoor/update_keys.sh
aufgerufen.
Die Gruppe backdoor
hat die UID 1337. Das Verzeichnis /opt/backdoor/
gehört der Gruppe backdoor
. Sie hat ebenfalls Lese-, Schreib- und Ausführungsrechte auf alle Dateien im Verzeichnis.
lbu\_include /opt/backdoor
lbu\_include /etc/init.d/
lbu\_include /etc/local.d
Die Datei etc/sudoers
nach /etc/sudoers.d/ibutton
kopieren
Die Datei etc/local.d/sync\_clock
nach /etc/local.d/sync\_clock
kopieren
Die Datei etc/initd/ibutton
nach /etc/init.d/ibutton
kopieren
<update\_rc???> ibutton
ausführen
Es handelt sich bei dem Host backdoor
um einen Raspberry Pi 3. Er hat die IP-Adresse 192.168.2.10, welche statisch konfiguriert ist. Die Hostnamen tuer.hq
, backdoor.cccffm.space
und tuer.cccffm.space
lösen aus dem Member- und Infra-LAN auf diese Adresse auf.
Die Fernbedienung der Türschlösser ist an den GPIO 20 (open) und GPIO 21 (close) angeschlossen. Die Kontakte zum Pi sind über Pull-Down-Widerstände auf GND gezogen, damit die Fernbedienung nicht aus Versehen getriggert wird, sollten die GPIO mal floaten.
rotes Kabel -> Pin 4 (+5V) blaues Kabel -> Pin 6 (GND) gelbes Kabel -> Pin 38 (GPIO 20) orangenes Kabel -> Pin 40 (GPIO 21)
weiß: gnd led schwarz: vcc led rot: gnd ibutton grün: data und vcc ibutton
rotes Kabel an GND vom Raspberry Pi grünes Kabel an GPIO4 (PIN 7) mit 1k PullUp an 3.3V
echo 'options wire timeout=1 slave_ttl=3' > /etc/modprobe.d/w1.conf
Cat 6e Patchkabel mit folgender Belegung:
orange / orange -> VCC LED close orange / weiß -> Kontakt close button grün / grün -> VCC LED open grün / weiß -> Kontakt open button blau / blau -> GND blau / weiß -> GND braun / braun -> VCC LED iButton Reader braun / weiß -> frei / unbelegt
Die Box ist dumm, sie besteht aus 5mm MDF und zwei Tastern mit eingebauter LED. Die Magie passiert im PI, bzw. auf der noch zu dokumentierenden Platine daneben.
SSH-Key ins Repository https://chaos.expert/ccc-ffm-infra/backdoorkeys eintragen. Jeweils eine Datei pro Nerd (nick = dateiname) und bitte den Nick und das Datum (im ISO-Format (1970-01-01)) in den Kommentar des Keys schreiben. In der commit message den nick und das Datum des Plenums, an dem der Zugang gewährt wurde (ebenfalls im ISO-Format), eintragen. Wenn ein Wesen mehrere Keys hat, kommen diese alle in eine Datei.
Beispiel ssh-key:
ssh-rsa A272F27F[...]3492912ABFABA= musterhacker 1970-01-01
Beispiel commit messages:
added musterhacker (Plenum: 1970-01-01) removed musterhacker (Austritt: 1970-01-01) updated musterhacker (1970-01-01)
Nach dem Hinzufügen des Keys, auf tuer.hq einloggen und das Script /opt/backdoor/update_keys.sh
ausführen
fertig.
lastbutton
aufrufen (beenden mit ctrl+c
)ibm
aufrufena
auswählenq
beenden