Grundkonfiguration einer Lightning Node & Best Practices

Sicherheits-1x1 für Linux

Unsere Nodes sind 7x24h online und deswegen permanent möglichen Hackern ausgeliefert. Deswegen ist es wichtig, sich ein paar Gedanken über die Sicherheit zu machen und die eigene Node entsprechend zu konfigurieren. Das Thema ist riesig, hier sind ein paar wichtige Dinge, die ich jedem Node-Betreiber empfehlen kann.

1. Linux-Basics aneignen

Ich weiß, es ist sehr verlockend alles über eine Weboberfläche zu administrieren, aber um euer System wirklich sicher zu bekommen, müsst ihr euch ein paar Linux-Kenntnisse aneignen. Lest ein Buch oder diverse Tutorials dazu im Internet. Ohne Kommandozeile geht es nicht. Punkt. Ihr habt einen Server im Internet, nicht mit Katzenvideos sondern mit wertvollen Bitcoin, also bitte nicht die Augen verschließen und „wird schon nix passieren“ denken…

Aber hier sind ein paar konkrete Empfehlungen:

2. Sichere Passwörter verwenden

Ein Passwort-Manager ist schon mal ein guter Weg, allerdings würde ich für eine Node auch folgendes Konzept überlegen: Merkbare Passwörter + diese nur auf Papier zur Sicherheit aufschreiben und an einem sicheren Ort aufbewahren (natürlich nicht in der Schublade neben der Node).

Ein gutes Passwort ist übrigens nicht „pAssw0rt!#“ – auch wenn es aus Groß- und Kleinbuchstaben, Zahlen und Zeichen besteht. Mal abgesehen davon, dass es sich wohl in jeder Brute-Force-Liste befindet, ist die Entropie sehr gering und merken kann man es sich auch nicht besonders gut. Besser ihr macht es ähnlich wie die Wortliste bei eurem Bitcoin-Wallet. Nur nehmt zufällige Wörter und keine aus der Liste (bspw. aus einem Zeitungsartikel) und überlegt euch eine Geschichte dazu.

Beispiel: Null - Sehen - Zwang - Leiter. Das resultierende Passwort könnte dann sein „NullSehenZwangLeiter“ und ist sogar deutlich sicherer als das obige mit den Zahlen und Sonderzeichen.Und dann überlegt ihr euch dazu einen Satz, bspw. „wenn ich null sehen kann, sollte mich niemand zwingen eine Leiter hinaufzugehen“. Das ergibt gerade so viel Sinn, dass sich das Passwort nach 3x eintippen ins Hirn eingebrannt hat.

Hier ist übrigens ein Comic, dass die Sache schön auf den Punkt bringt:

3. SSH-Zugang als Tor-Hidden-Service

Ihr braucht die Kommandozeile um euren Server zu administrieren, am besten auch von unterwegs – aber nur abgesichert. Das SSH-Service offen (also via TCP/IP erreichbar) im Internet zu haben, ist nicht so gut. Hier sind ein paar Vorschläge:

  • Standard-Port ändern (ist aber nicht wirklich sicher)
  • VPN nutzen, falls euer Router das unterstützt. Also zuerst verbindet ihr euch per VPN mit eurem Router und erst aus dem lokalen Netz heraus greift ihr per SSH auf eure Node.
  • SSH über ein Tor-Hidden-Service anbieten

Diese letzte Option funktioniert wie folgt: Eure Node läuft bereits mit Tor, wenn eure UI mit …onion endet. Das ist beispielsweise der URI zu meiner Node:
0313118036b611e729633e125cec1a911b9d0de42a676781b8c0940926726f685a@4o7o23vucbrf2gtfkfwetvgs6zcqvb3xjx3hfirylvs656o42q7sutyd.onion:9735
Hinter dieser Adresse läuft ein Tor-Hidden-Service und zwar der LND-Daemon.

Genau so etwas könnt ihr auch für SSH einrichten.
Dazu müsst ihr eigentlich nur die Datei /etc/tor/torrc ändern und ein neues Service registrieren. Ihr solltet euch dabei an die Konvention eures System richtigen. Beim Raspiblitz sieht eine neue Konfiguration z.B. wie folgt aus:

# Hidden Service for SSH
HiddenServiceDir /mnt/hdd/tor/ssh
HiddenServiceVersion 3
HiddenServicePort 22

Dann startet ihr Tor neu: sudo systemctl restart tor
Tor erzeugt dann automatisch in dem angegeben Verzeichnis die nötigen Konfigurationsdateien. Mit dem Befehl sudo cat /mnt/hdd/tor/ssh/hostname wird euch die URI des SSH-Hidden-Service „…onion“ ausgegeben. Aber diese bitte mit niemandem Teilen, schon gar nicht im Internet!

Auf dem Computer, mit dem ihr euch dann von außerhalb mit eurer Node verbinden möchtet, muss natürlich ssh und tor installiert sein. Je nach Betriebssystem geht das unterschiedlich.

Wer einen Mac hat kann sich die Programm mit brew installieren. Nach der Installation von brew lädt man sich folgende Komponenten nach:
brew install tor torsocks socat
Dann startet man den tor-Dienst:
brew services start tor
ssh -o ProxyCommand='socat STDIO SOCKS4A:127.0.0.1:%h:%p,socksport=9050' admin@hidden-service-uri.onion

Das letzte Kommando verbindet sich mit dem lokal laufenden TOR-SOCKS-Proxy, ev. läufter der auf einem anderen Port (9050), natürlich muss am Ende die richtige URI eingetragen werden.

Es gibt natürlich noch viel mehr bezüglich Sicherheit

Aber der Post ist eh schon lange genug. Wenn ihr mehr solche Tutorials haben möchtet, dann schenkt mir ein Like und es gibt es bald ein Update! :wink:

Verbindet euch mit meiner Node!

Ihr könnt euch auch gerne einen Kanal mit meiner Node aufmachen: GLN auf amboss.space . Bitte mind. 2M, kleinere Kanäle ergeben keinen Sinn, da die Open & Close-Kosten sonst in keinem Verhältnis zu den möglichen Gebühreneinnahmen stehen, nur kleine Beträge transferiert werden können und dauernd ein Rebalancing nötig wäre.

Meine Node wird zukünftig einige Online-Shops anbinden und ist mittlerweile auf Platz ~700 auf Terminal Web und hat dort 6/6 Häkchen.

23 „Gefällt mir“